home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 1 / QRZ Ham Radio Callsign Database - December 1993.iso / ucsd / packet / tcpip / pe1chl / history < prev    next >
Encoding:
Text File  |  1992-08-06  |  114.2 KB  |  2,508 lines

  1. PE1CHL.920701:
  2.  
  3. This is a major release, with many new features and enhancements.
  4. Please report any bugs you find in there...
  5. Make sure you update your configuration files, as there are some important
  6. changes.  It is best to modify one of the example files to suit your
  7. configuration.
  8.  
  9.  
  10. In the "ftl0 dir <server> a <date+time>" command it is now possible to add a
  11. list of filetypes that are not to be included in the directory.     This allows
  12. to get a directory without all the automated-gateway files.  Example:
  13.     ftl0 dir uo22 a 920503160410 02
  14.  
  15. It is now possible to cancel an FTL0 request even while it is active.  In
  16. this case the server will be disconnected to cancel the execution of the
  17. request.  This allows the cancellation of a directory request when the link
  18. has failed and the server had been immediately re-connected.  You can then
  19. display the directory and re-issue the request with an updated "hightime".
  20.  
  21.  
  22. In "netrom status" command, the timers now show the number of remaining
  23. seconds before the timer expires, instead of the elapsed time. (there is no
  24. room for the expiry time in this layout)
  25.  
  26. When someone connects to the NET/ROM from another NET/ROM node (i.e. incoming
  27. on a NET/ROM circuit), and asks for a NODES or NODES * list, those nodes that
  28. can be reached via the same neighbor that is used to reach him will be omitted
  29. from the list.  A message (# NODES routed via XXXX not shown) is sent at the
  30. end of the list to explain this.  The reason is that users connecting through
  31. the network are only interested in nodes further down the path.
  32. When a connect is made to another node, the same check is made to avoid that
  33. nodes are connected that are reachable only via the same neighbor that the
  34. incoming circuit also uses.  This avoids that a circuit is set up for which
  35. all info packets have to be sent from one node to another, and then back to
  36. the originating node.
  37. A message "alias:call} No backward connects along incoming ROUTE" is shown when
  38. such a circuit connect is attempted.
  39. The second and third parameter of "netrom param 7" can be set to "1" to
  40. restore the old behaviour (displaying all nodes, allowing all circuits).
  41.  
  42. A new command, "netrom filter" has been added to allow selective filtering
  43. of certain patterns from NET/ROM uplink or downlink traffic.  This can be
  44. used to inhibit bulletin forwarding on busy local channels during certain
  45. times of the day (in combination with the "at" command).
  46. Subcomands are:
  47.     netrom filter call [<call> <iface>|d]
  48.     enters a callsign in the table of stations whose traffic is to be
  49.     monitored, and the interface where the uplink/downlink traffic is
  50.     to be monitored.  normally you would enter the callsigns of all
  51.     local BBS stations in this table.  The SSID is not used in the
  52.     matching.  Specification of "d" instead of the interface will delete
  53.     the callsign from the table.  The "netrom filter call" command without
  54.     further parameters will display the callsign table.
  55.     netrom filter mode [y|n]
  56.     shows the status of the filter, or sets it ON (y) or OFF (n).
  57.     would normally appear in an "at" command, e.g.:
  58.     at 18:00 netrom filter mode y
  59.     at 00:00 netrom filter mode n
  60.     netrom filter pattern <pattern1> [<pattern2>....]
  61.     sets one or more patterns to be matched.  when a packet matches one
  62.     of these patterns, and the call of the connected station appears in
  63.     the callsign table, and the mode is "y", the packet is deleted.
  64.     this way, one can effectively obstruct certain types of traffic, e.g.
  65.     bulletin forwarding.  for a description of patterns see the pattern
  66.     matching description below.  Examples of useful patterns:
  67.     '^SB [A-Z0-9]* @ [!-_]* < [A-Z0-9]* \$[!-_]*$'        (RLI/MBL boxes)
  68.     '^F[AB] B [A-Z0-9]* [!-_]* [A-Z0-9]* [!-_]* [0-9]*$'    (FBB boxes)
  69.  
  70.  
  71. Added "DCD-gated timing" for AX.25.  While a signal is received or the
  72. transmitter is sending a packet, on a half-duplex channel, the AX.25 T1
  73. and T2 timers will be halted. This causes less unnecessary re-transmissions
  74. when the channel is so heavily loaded that the transmitter cannot be keyed.
  75. Because a KISS TNC does not report this information to the computer, this
  76. feature is only available when using the SCC driver, with a plugin board
  77. like the PA0HZP OptoPcScc, DRSI PC*PA etc.
  78. The commands "ax25 t1" and "ax25 t2" now accept two values, the first of
  79. which is used for KISS interfaces, and the second is used for an SCC
  80. interface.  The second value can be much smaller, as only the channel-idle
  81. time will be counted.  Suggested values are:
  82.     ax25 t1 15000 5000
  83.     ax25 t2 2000 500
  84.  
  85. Further improvements in the dynamic adjustment of MAXFRAME on AX.25
  86. connections.  NET will always start at MAXFRAME 1 when a connection is made,
  87. and will gradually increase the MAXFRAME up to the specified value when the
  88. connection is error-free.  When a REJ or RNR frame is received the effective
  89. MAXFRAME steps back to 1.  When a re-try is necessary to get a frame
  90. acknowledged, the MAXFRAME is halved.  This algorithm should improve the
  91. channel efficiency by avoiding large MAXFRAME values on poor links, but still
  92. allows a large MAXFRAME when it causes no problems.
  93.  
  94. Yet another kludge in the AX.25 handling, that should eliminate the double
  95. RR frames sent by the NET/ROM uplink.
  96.  
  97.  
  98. A user-defined sequence of characters may be inserted between trace output
  99. lines.  The sequence will be inserted just before the date/time header.
  100. The default is "*** ", it can be changed using the command
  101. "trace separator <string>".  In the string, "\n" can be used to insert a
  102. newline character.  Example: trace separator "\n**** "
  103.  
  104. Tracing of AX.25 packets now shows the state of the two "reserved" bits in
  105. the SSID byte.    Normally these two bits are set to '1', and nothing will be
  106. shown.    When one or both of the bits are '0', the indication [d], [e] or [de]
  107. is shown after the SSID, like in: PE1CHL-7[e]->PI8RNI-1[d].
  108. The [d] corresponds to bit 5 in the SSID byte being clear, and this is in use
  109. to indicate a DAMA master.  The [e] corresponds to bit 6, and indicates the use
  110. of extended sequence numbering when present in the source call field.
  111.  
  112.  
  113. Extended sequence number (modulo-128) option added to AX.25 coding.  This allows
  114. the use of a high maxframe value on highspeed half-duplex links, especially when
  115. they are point-to-point.  Most useful for links between NET/ROM nodes.
  116. The command "ax25 extended <call> [<iface>]" enables the modulo-128 mode for
  117. the specified station.    A connection will be opened using SABME instead of
  118. SABM.  When the other station replies with a DM or FRMR, a re-try is done
  119. using SABM, and the connection is set up in standard modulo-8 sequence number
  120. mode.  Be careful!  Not all AX.25 implementations reply to an SABME!  The
  121. "ax25 extended" command should only be used when it is certain that the other
  122. station can handle the modulo-128 option, and ONLY on point-to-point links.
  123. The command "ax25 maxframe" now accepts two values for MAXFRAME.  The first is
  124. used on modulo-8 connections as before, and can be 1-7.     The second is used
  125. on modulo-128 connections, and can be 1-127.
  126. Because modulo-128 mode is only established during connection setup, and
  127. packets sent on this connection have a 2-byte control value, bit number 6 in
  128. the SSID field of the SOURCE call is cleared to indicate that the packet
  129. belongs to a modulo-128 connection.  This is used to display the correct
  130. format when tracing.
  131.  
  132.  
  133. New command "sccstat b" shows the percentage of time that an AX.25 interface
  134. was busy.  Separate columns are shown for the DCD (carrier detect) and RTS
  135. (request to send) signals.  Note, however, that some modems will assert
  136. the DCD line when RTS is activated, so it may be that the percentage DCD
  137. also includes the percentage RTS.
  138. The command "sccstat b c" can be used to clear the counters and start a
  139. new measurement.
  140.  
  141. MSDOS version: when SCC driver hardware type 08 (DRSI PC*PA) is selected, the
  142. Z8536 on the DRSI card is programmed to generate 10ms timer interrupts.     This
  143. yields more accurate timing, just as described under "PE1CHL.920311", without
  144. the use of one of the SCC channels on the card.
  145.  
  146. When "external clocking" is selected in the "attach scc" command, NRZ encoding
  147. instead of NRZI can be selected by specifying "ext/nrz" in the baudrate field.
  148. NRZ encoding is used by the DF9IC 9600 baud modem.
  149.  
  150.  
  151. To calm down certain people, "tcp kick" commands are now only acted upon when
  152. they are spaced at least 10 seconds.
  153.  
  154.  
  155. New command "ftpstat" shows the status of all active FTP sessions, both client
  156. and server.  More detail about one session can be shown using "ftpstat <ftp>",
  157. where <ftp> is the control block address obtained from the first listing.
  158.  
  159.  
  160. New command "ttylink", same as "telnet" but defaults to TCP port number 87
  161. instead of 23.
  162.  
  163. New command "rcmd", same as "telnet" but defaults to TCP port number 333,
  164. and performs automatic login to an rcmd server.  To use this feature, a
  165. file must be present with the systemname as filename, in the directory
  166. "\net\rcmd".  This file should contain the password of the system to login to.
  167. Example:
  168.         rcmd pi8rni     (the password should be in file "\net\rcmd\pi8rni")
  169. NET will wait for the login challenge (3 groups of 5 numbers), and will
  170. randomly select one of them.  It will then send the corresponding password
  171. characters as defined in the password file \net\rcmd\pi8rni.  When the password
  172. is correct, the remote system will respond with its prompt.
  173. The directory for the password files can be changed by setting the environment
  174. variable "NETRCMD" to a different value.
  175.  
  176.  
  177. New command "unproto" sets up an UNPROTO session.  Any data typed on such
  178. a session is sent as UI packets (line by line), and any UI packets received
  179. on the interface specified during setup will be displayed.
  180. This can be useful for "chat nets" on a quiet frequency, and it is also
  181. useful as a general activity watch.  When used on a PACSAT it will display
  182. the general information that these satellites send as beacon frames.
  183. Syntax: unproto <interface> <callsign> [via] [<digipeaters>]
  184. The specified callsign will be used as destination for the UI packets.    It
  185. does not influence the display of received packets.
  186.  
  187.  
  188. MSDOS version: support for sending IP datagrams over NetBIOS, as specified in
  189. RFC1088.  Attach a NetBIOS-supported interface using:
  190.     attach netbios <lana_num> <label> <buffers> <mtu>
  191. e.g.:    attach netbios 0 nb0 8 512
  192. <lana_num> is the adapter number as used by NetBIOS. Try 0 when you don't know.
  193. <buffers> limits the number of receive buffers used by the driver, when packets
  194. are coming in and NET is not (yet) handling them. <mtu> is the max packet size.
  195. The IP datagrams will be sent as NetBIOS datagrams, using the destination name
  196. "IP.XX.XX.XX.XX", where XX.XX.XX.XX is the HEX representation of the
  197. destination IP address.     Broadcast packets will be sent to "IP.FF.FF.FF.FF".
  198. Your IP address must be defined before the NetBIOS interface can be attached,
  199. because the name to be entered in the NetBIOS name table depends on this value.
  200. Thefore, put the "ip address" command before the attach command.  This has been
  201. changed in the example configuration files.
  202.  
  203.  
  204. New command "version" re-displays the program version and copyright, that is
  205. normally displayed only at startup.  Please mention the version number (date)
  206. when you report any bugs.
  207.  
  208.  
  209. Added a new command "fkey" to define function keys.  It has always been
  210. possible to do this using the capabilities of ANSI.SYS or another external
  211. program, but as this was not widely understood amongst NET users, it has now
  212. been added as an internal command to NET.  This also allows for a more
  213. convenient setup of the programmed keystrings, e.g. from CONFIG.NET
  214. The "fkey" command can program any sequence of characters for the function
  215. keys F1..F10.  Examples:
  216.     fkey f1 "ax25 status" 13
  217.     fkey f2 "connect 144 "
  218.     fkey f9 -2 24 "session t" 13
  219. A string will be stored literally, and has to be enclosed in quotes when it
  220. contains a space. A numeric value can be used to define a control character
  221. or other special key.  Values for special keys are:
  222.     -20: HOME    -19: UP           -18: PgUP       -17: LEFT
  223.     -16: RIGHT    -15: END       -14: DOWN       -13: PgDN
  224.     -12: INS    -11: F1           -10: F2        -9: F3
  225.      -8: F4         -7: F5        -6: F6        -5: F7
  226.      -4: F8         -3: F9        -2: F10
  227. When only "fkey f1" is entered, without any values, the programming for that
  228. key is erased.    The command "fkey" by itself will print a list of programmed
  229. keys, with unprintable characters represented by [decimal_value].
  230.  
  231. The "screen" command, previously existing only in the Atari ST version, has
  232. been extended and now also is available in the MSDOS version.
  233. Subcommands:
  234. "screen swap [y|n]" enables/disables screen swapping.  When this is enabled,
  235. separate screens are created for "command", "trace" and each "session" in the
  236. range 0-9.  When switching between sessions, the existing screen is restored.
  237. This often makes it easier to run multiple qso's, as the previous text typed
  238. in each session can still be seen after typing many other lines and/or
  239. commands.
  240. However, the price to pay for this is *memory*.  Each screen costs about 4Kbyte
  241. for the standard 25*80 mode, so that about 48Kbyte is required for all screens.
  242. Therefore, it is not available in the middle-model MSDOS version.
  243. Also, the screen swapping is done using direct access to the videoram, and may
  244. therefore cause problems in multitasking environments.  On MSDOS systems, the
  245. access can be done via BIOS, by setting the environment variable "NETCONF=v0"
  246. before starting NET.  However, access via BIOS is so slow that it isn't really
  247. practical to use this method.
  248. On the Atari ST, setting "screen swap on" automatically switches to direct
  249. videoram access ("screen direct"), so if you are using a nonstandard video
  250. adapter it won't work.
  251.  
  252. New subcommands for "session" command:
  253. "session #" displays the maximum number of sessions.  This is a configuration
  254. constant, that can be modified by setting the environment variable NETSESSIONS
  255. to a numeric value *before NET is started*, e.g. in a .BAT file.
  256. "session trace" switches to "trace" screen (when screen swapping enabled).
  257. Return to command screen by pressing a key.  This key will also be the
  258. first command character, i.e. one switches back to command mode simply by
  259. starting to type a new command.
  260.  
  261.  
  262. FTP transfers can now be restarted, when the session had to be reset and the
  263. destination file was correctly closed.  Make sure that you have set up the same
  264. environment as during the failed FTP (i.e. the same directory and transfer
  265. "TYPE"), and then issue one of the following command versions:
  266.         get <remotefile> <localfile> restart
  267.         put <localfile> <remotefile> <restart_offset>
  268. You have to specify both filenames, even when they are the same.  To restart a
  269. "get" command, you only need to add the keyword "restart".  To restart a "put",
  270. determine the number of bytes that have been transferred during the previous
  271. attempt, using a "dir" command.  Then, pass that number as a third argument
  272. to the "put" function.  You cannot restart a "put" when you don't have
  273. "overwrite" access at the remote system.
  274. Always make sure that the previous connection has been reset, before restarting
  275. a transfer!  When a "dir" displays "0" for the filesize, or you are uncertain
  276. if the remote system has reset it's connection (e.g. because your machine
  277. crashed and the remote does not know that) *DO NOT* restart the transfer!
  278. First ask the operator of the remote system to reset the FTP session!
  279. Failure to observe this rule will result in a damaged file at the receiving
  280. end, because it is opened for write twice, and conflicts occur.
  281. The restarting is done by sending a REST command plus a byte offset,
  282. immediately before the RETR or STOR command that starts the transfer.  Although
  283. the FTP spec specifies this use of the REST command, it does so only for the
  284. "block" and "compressed" modes of transfer, not for the "stream" mode that NET
  285. supports.  Therefore, restarting a transfer is not compatible with other FTP
  286. implementations, and should only be used between machines running NET.
  287. When the remote system refuses the REST command, "abort" the transfer and
  288. start all over.
  289.  
  290.  
  291. SMTP message_id allocation fixed.  Now, the message ID in the header matches
  292. the actual ID in the queue, and it is incremented by 1 for each message
  293. processed.  (previously it incremented by 2)
  294.  
  295. Messages that are on the SMTP queue for a long time can now be automatically
  296. returned to the sender.  Use "smtp expiry <days>" to define the number of days
  297. message are allowed to wait for delivery.  "smtp expiry 0" disables this
  298. feature.  The filetime of the .wrk file of the message is taken as the
  299. reference time of the message (normally it is equal to the time at which the
  300. message arrived at the station).  Each time an outgoing SMTP session gets
  301. RESET, each message on the queue for that session is examined.  When the time
  302. it is on the queue (current time - .wrk filetime) exceeds the number of days
  303. specified in the "smtp expiry" command, the message is returned to the sender
  304. with a short header explaining the problem.  Reasons why an SMTP session gets
  305. RESET include:
  306.     - ICMP "Unreachable" message received in SYN Sent state
  307.     - timeout in SYN Sent state (the timeout is set to "smtp expiry" days)
  308.     - "exit !" from NET
  309.     - manual reset by operator (tcp reset <tcb>)
  310.  
  311. "smtp hold" command added to allow the sysop of a 24-hour station to "hold"
  312. smtp mail which matches a certain pattern in "source address", "destination
  313. address", or "destination host".  This can be required when the mail is
  314. destined to a gatway to another network (e.g. Internet), and the sysop is
  315. required (by license conditions) to monitor all mail going through that
  316. gateway.  Subcommands are:
  317.     smtp hold dest <pattern1> [<pattern2>....]
  318.     smtp hold host <pattern1> [<pattern2>....]
  319.     smtp hold source <pattern1> [<pattern2>....]
  320.     set patterns for destination, host and source fields.  (as appearing
  321.     in "smtp list" output).  The patterns are constructed following the
  322.     rules defined in the section about "pattern matching" below.
  323.     smtp hold mode [y|n]
  324.     enable (y) or disable (n) the smtp hold feature.
  325.     smtp release <job_id>
  326.     release the specified smtp job, when it was in hold status.
  327. When "smtp hold" is in use, the sysop has to check using "smtp list" if jobs
  328. are being held, and if he wants to release them.  The held jobs are indicated
  329. with a character D, H or S in the first column of the "smtp list" output.
  330. After they are released, the first character will be R.  Note that exit/restart
  331. of NET, or a RESET on the SMTP connection with another host, may reset the
  332. status of a message to 'blank', and thereafter again to D, H or S.
  333.  
  334.  
  335. A general "pattern matcher" has been introduced, which is now used in
  336. the following places:
  337.     AX.25 mail forwarder, "r" and "w" script lines in .bbs files.
  338.     FTL0 "Open" packet detection
  339.     smtp hold
  340.     netrom filter
  341. Please note that you may have to modify some of your ".bbs" files, when they
  342. contained "r" or "w" lines with some of the special characters defined below.
  343. The pattern matcher uses the same syntax as UNIX programs like "grep", "sed",
  344. "vi" etc.  Note that this is different from DOS filename wildcards "*" and "?".
  345. The following special characaters are recognized in patterns:
  346.     ^    when it appears at the beginning of a pattern, it indicates
  347.         that the pattern should match only at the beginning of the
  348.         string.  e.g.: "^abc" matches "abcde", but not "xyabc".
  349.     $    when it appears at the end of a pattern, it indicates that the
  350.         pattern should match only at the end of the string.
  351.     .    matches any (single) character
  352.     [abc]    matches (single) characters "a", "b" and "c".
  353.     [a-z]    matches any (single) lowercase character
  354.     [^0-9]    matches any character that is NOT a digit
  355.     *    indicates the character or special that immediately precedes
  356.         it, can be present any number of times (0..infinity)
  357.         e.g.:    a*    matches any number of "a" characters
  358.             .*    matches any number of any characters
  359.             [0-9]*    matches any number of digits
  360.     \    generally indicates that the following character is to be
  361.         treated without special meaning.  e.g.: \. matches a ".".
  362.     \(    opens a "memory", which is closed by "\)".  the contents of
  363.         the memory can be referred to anytime later in the pattern,
  364.         using \num, where num is the sequence number of the memory.
  365.         e.g.: \([0-9]\)\1\1\1 matches "0000", "1111" etc.
  366.     \{    used with "\}" for specification of a limited number of matches
  367.         of the preceding character or special.
  368.         a\{1,5}        matches "a", "aa", "aaa", "aaaa" or "aaaaa".
  369.         b\{3,\}        matches strings of 3 or more "b" characters.
  370.  
  371.  
  372. Atari version: fixed bug in allocator that caused "2-bomb" exit when a malloc
  373. failure occurred.
  374.  
  375.  
  376. PE1CHL.920420:
  377.  
  378. New command "sccstat f <chan#>" sends 30 seconds of 'flags' on AX.25-type
  379. interfaces.  This is useful when evaluating the performance of certain
  380. modems (especially the HAPN 4800 baud modem) on a scope.
  381.  
  382. PE1CHL.920329:
  383.  
  384. New "date" subcommand:
  385. date get <host> [<port> [<tos>]]
  386.     requests the time from an RFC868 Time Protocol server, which is
  387.     normally located on UDP port 37.  Prints the difference with the
  388.     local clock, when a reply is received.    When reply is received within
  389.     15 seconds, sets the local system clock to date/time received.
  390.     This command can be used to keep the system clock in sync with the
  391.     clock on another machine.  You can define a "date get" command to be
  392.     executed at some time each day, e.g.: at 03:00 date get pe1chl
  393.  
  394. PE1CHL.920311:
  395.  
  396. PC version: SCC driver option added to use one of the SCC channels as an SCC
  397. timer tick generator.  It turns out that multitaskers like Desqview treat the
  398. 55ms system timer interrupt in such a way that a running task does not receive
  399. all timer ticks.  This results in random timing errors when a program is
  400. running in another window. (you can observe this as unusually long flag leaders
  401. and trailers when listening to your transmissions)
  402. When a spare SCC channel is available, it can now be set up as a 10ms timer, to
  403. be used instead of the system timer: add the option "t<n>" at the end of the
  404. "attach scc init" command, where <n> is the channel number to be used for
  405. timing.     When no hardware dependent options ar used, two zeroes must be
  406. inserted between the <frequency> parameter and the option.  Example for use
  407. with the PA0HZP OptoPcScc card:
  408.     attach scc 2 init 150 4 2 0 1 168 3 p4915200 0 0 t3
  409. This defines channel number 3 (the last channel on the board) as a timer tick
  410. generator.
  411. The timer tick generator defined this way generates 10ms ticks.     When you have
  412. defined your own values for SCC channel parameters 1,3,4,7 or 11: remember to
  413. re-calculate the values of these parameters based on this tickrate.
  414.  
  415. PE1CHL.920221:
  416.  
  417. Atari version: made MIDI port fully interrupt buffered.     To use this feature
  418. (instead of the standard BIOS routines which only buffer receive, not
  419. transmit), use the following form of attach command:
  420.     attach asy 3 1 ax25 430 2048 256 9600 $CALLSIGN-7
  421. The old method remains available, using "attach asy 3 0 ..."
  422. This change greatly improves the performance of the MIDI port, also when
  423. used as a SLIP connection between two machines.
  424.  
  425. Atari GEM version: fontsize is now selectable, using "screen font <fontsize>".
  426. Values 8,9 and 10 work best on monochrome screens, but larger values are also
  427. possible.  The default on startup is 10. (8*16 system font)
  428.  
  429. Fixed problem in SLIP/KISS receive routines that could cause the receiver
  430. to go deaf when a specific (erroneous) sequence of characters was received.
  431.  
  432. new server: RFC868 Time Protcol.  Start it using "start tp".  It will return
  433. the current date and time in the format specified by RFC868, when an empty
  434. datagram is sent to its port (UDP port 37).
  435.  
  436. The "date" command now has a number of subcommands:
  437. date request <host> [<port> [<tos>]]
  438.     requests the time from an RFC868 Time Protocol server, which is
  439.     normally located on UDP port 37.  Prints the difference with the
  440.     local clock, when a reply is received.
  441. date started:         shows program uptime and starttime
  442. date set mmddhhmmss[yy]: sets the date and time
  443. date tzset <zone>:     sets timezone, consisting of name and offset
  444.              westwards from UT, e.g. "GMT0", "MET-1".
  445.              you *must* use this form instead of the older
  446.              "setenv TZ MET-1", to get meaningful responses from
  447.              the Time Protocol server.
  448.  
  449. PE1CHL.920212:
  450.  
  451. Funny behaviour of SCC driver on some systems seems to be corrected now.
  452. If you still see a large number of interrupts (Exints or Spints) please
  453. report it with details of your configuration.
  454.  
  455. Fixed bug in new segmenter.  Also made some changes to LAPB module to get
  456. more reasonable behaviour in case RNR frames are received and/or sent.
  457.  
  458. Keeping some of the "freeing garbage" messages in memory so that they
  459. can be re-displayed (using "mem g").  This also allows checking of freeing
  460. garbage situations when accessing a remote system via RCMD.
  461. The displayed info is still of limited use except when a symbol table
  462. of the running version of the program is available.
  463.  
  464. PE1CHL.920209:
  465.  
  466. Fixed a nasty bug that caused NET/ROM links to remain connected when the user
  467. requested a disconnect.     Also this one may have caused some "freeing garbage".
  468.  
  469. Added "BYE" and "QUIT" command to NET/ROM to disconnect (not shown in menu).
  470.  
  471. Better args checking in NET/ROM and BBS code to reduce chance of loops when
  472. a BBS is talking to command interpreter (BBS: "I don't understand that"; NODE
  473. sent Info file; BBS: many times "I don't understand that"; etc etc)
  474.  
  475. PE1CHL.920107:
  476.  
  477. Included new segmenter as present in NOS.  This should end the incompatibility
  478. problems between NOS and NET.PE1CHL when using "mode vc".  Of course, it will
  479. introduce the same incompatibility between old and new versions of NET.     Avoid
  480. the use of "mode vc".
  481.  
  482. Fixed overflow problem that could cause the TCP retransmission timer to go
  483. haywire, when "backoff" and/or "SRTT" had high values.    Result was a rapid
  484. transmission of packets at a 1-second interval.
  485.  
  486. Changed memory allocation routines in Atari version (Turbo C).    Should prevent
  487. problems with TOS versions before 1.4, that sometimes could not open files when
  488. a lot of memory was already allocated.
  489.  
  490. Dropped support for EMS memory in PC version.  It added extra overhead to the
  491. SCC interrupt handling, and caused nothing but problems anyway.
  492.  
  493. Added possibility to hard-wire downlink ports for the NET/ROM.    When a certain
  494. AX.25 station is known to be present on some port only, a "connect" request to
  495. that station can be automatically directed to that port.  This makes the use
  496. of a dedicated port for a BBS less confusing for the users, and can also enforce
  497. the use of a highspeed downlink when available.
  498. Usage: netrom downlink <call> <port> [<digipeaters>]
  499. E.g.:  netrom downlink pi8utr lap.48
  500.  
  501. PE1CHL.911222:
  502.  
  503. TNC2 emulator added to UNIX/XENIX version.  Use is like DOS version (see
  504. entry for version 890515, amongst others)
  505. Instead of the "comnumber", a full pathname for the UNIX device to be
  506. used to access the TNC2 emulator must be given.     This can be a TTY or
  507. a PTY device.  Examples:
  508.     ax25 start tnc2 /dev/tty10=430/3    (KISS mode on a TTY)
  509.     ax25 start tnc2 /dev/ttyp9=144        (cmd: mode on a PTY)
  510. When a TTY is used, the emulated TNC22 "appears" on the RS232 port controlled
  511. by that device.     It will always run at 9600 baud.  When a PTY is used, the
  512. name of the "slave" side of the PTY must be used in the start command, and a
  513. program running in the machine can access the TNC2 using the "master" side
  514. of the PTY (i.e. /dev/pty9p in the example above)
  515. To test the functioning of the TNC2, use "cu" or another communications program
  516. on the pty, or on another tty using an external loopback cable.
  517.  
  518. Fixed pty location problem in telunix server.  It should no longer silently
  519. close a connection when an active pty is still available.
  520.  
  521. Some extra checks built into the SCC driver for MSDOS should avoid the stray
  522. transmit interrupts that occurred on some machines when using "vector" mode.
  523.  
  524. Input packets on the SCC driver and the SLIP and KISS protocols on async ports
  525. are checked for a maximal length.  Packets longer than the MTU of an interface
  526. plus the header overhead for AX.25 are discarded.  Sometimes very long packets
  527. were received when noise was present on the input, and this lead to excessive
  528. use of memory by the drivers.  This was probably the explanation for the use
  529. of large amounts of memory by NET, which was later freed to the heap but never
  530. returned to the operating system.
  531.  
  532. Calculation of tcp MSS option value in SYN packets changed, to reflect
  533. above change.  The MSS value relects the MTU of the interface on which the
  534. outgoing packets are routed.  Using different MTU values on interfaces of
  535. the same kind (e.g. AX.25) could cause problems when the outgoing and incoming
  536. packets are not passing through the same interface.  To avoid trouble, use
  537. only a widely-accepted MTU: 256 for AX.25, 1500 for ethernet.
  538.  
  539. Calculation of local time for "at" command changed.  Now, it should no longer
  540. be so sensitive to the setting of the TZ variable.
  541.  
  542. Corrected bits/second value printed for very large FTP transfers.
  543.  
  544. Fixed obscure timer problem that caused sudden trigger of *all* timers in
  545. the system under heavy load circumstances, resulting in the loss of all
  546. connections for which some timeout is active.
  547.  
  548.  
  549. PE1CHL.911126:
  550.  
  551. "ax25 start tnc2" command now accepts optional /<kissrx> suffix to each
  552. argument.  The result is that the TNC2 will be started in KISS mode, with
  553. the KISSRX parameter set to the specified value.  This can be useful in
  554. systems where an MSYS or BPQ program is connected to a node running NET,
  555. using the KISS protocol on a serial link.
  556. Example: ax25 start tnc2 1=lap/3
  557.  
  558. Improved checks on duplicate use of a callsign-ssid combination.
  559. Now, duplicate use causes an error message, instead of subtle problems like
  560. "ARP not working" or "No ACK messages on broadcast request".
  561.  
  562.  
  563. SCC driver: enhanced handling of DCD.  Before, a when DCD dropped while
  564. a packet is received, the packet was always discarded.    Now, two alternative
  565. modes of operation are possible:
  566.  
  567. param <iface> dcd n
  568.     DCD-changes are ignored, the receiver is permanently enabled.
  569.     In this mode, a packet is never discarded because of DCD loss.
  570.     However, when noise is present on RxD it will cause a permanent
  571.     interrupt load on the system.
  572.     Normal operation restored by: param <iface> dcd y
  573.  
  574. param <iface> 11 <n>
  575.     Whenever DCD falls, the receiver remains enabled for <n> ticks.
  576.     (the duration of a tick is displayed at startup, normally 10ms on
  577.     the Atari ST, 55ms on the PC).
  578.     Setting this parameter to a suitable value will eliminate the
  579.     packet loss caused by a flickering DCD, as can sometimes be observed
  580.     with the G3RUH modem.
  581.     Setting parameter 11 to 0 will restore normal operation.
  582.  
  583. These DCD handling options do not affect the "channel busy" detection that is
  584. performed in half-duplex mode (CSMA).  The P-persistent channel access
  585. algorithm takes the unsmoothed DCD as input.
  586.  
  587. NET/ROM now allows a fast connect to another station using the forms:
  588.  
  589.     connect <station> via <entrynode> <exitnode>
  590.     connect <station> via <node>
  591.  
  592. This is similar to the facility offered by Flexnet.  You will get a connect
  593. to the local node, and the link to the specified station will be automatically
  594. set up.     When the local node detects a problem (e.g. <exitnode> not in
  595. nodetable), it returns a DM (Busy).  When a problem at the remote node
  596. occurs, the normal error message will be returned on the connection.
  597. The old step-by-step connection method remains available.
  598.  
  599. NET/ROM downlinks are now made with a digistring containing both the source
  600. node and the local node.  This allows easy reversal of the path to connect
  601. back to the calling station.  "netrom param 7 0" can be used to disable
  602. this feature.
  603.  
  604. AX.25 T1 time calculation based on smoothed round trip time.  Enabled only
  605. for NET/ROM links on interfaces without uplink capability (pure interlinks),
  606. and for FTL0 links.  This should improve performance on fast dedicated links,
  607. especially when they are fullduplex.
  608.  
  609. PBLIST format from DRAFT spec (Nov 4, 1991) implemented, because OSCAR 22 has
  610. started to use it, and this caused an infinite loop with "broadcast download".
  611.  
  612.  
  613. PE1CHL.911020:
  614.  
  615. Increased initial TCP local port number from 1001 to 1024, because HP-UX
  616. (and possibly other systems) refuse FTP data channels with a port number
  617. below 1024.
  618.  
  619. Extra option to "broadcast download" allows insertion at the front of the
  620. download queue, for higher priority when selecting a file to be downloaded.
  621. Usage: broadcast download <sat> <file> prio
  622. Use this when you want to download a personal message while there is already
  623. a number of other files in the queue.
  624.  
  625. Fixed error that caused crash when an OK reply on a "broadcast request"
  626. command was received while no "broadcast download" was in progress.
  627. Don't use "b r" command in 911005/911006 version!
  628.  
  629. PE1CHL.911005:
  630.  
  631. "Broadcast download" command added, that allows unattended, automatic
  632. downloading of files from a Pacsat Broadcast server (satellite).
  633. A "broadcast server" has to be defined (usually this is done in autoexec.net)
  634. "broadcast download <servername> <file_id>" adds a file to the list of files
  635. to be downloaded.  As soon as a PBLIST packet is received from the specified
  636. server, NET automatically sends "broadcast request" packets to get the
  637. specified file(s).
  638. "broadcast download <servername>" without file_id prints the list of files
  639. queued for download.  A "*" indicates the file currently being requested.
  640. Files can be canceled from the queue using "broadcast cancel <rqst_CB>", where
  641. the <rqst_CB> can be found in the list.
  642.  
  643. New command: "broadcast kick", causes current broadcast file to be closed, and
  644. complete files to be written to the bcst directory.  Same thing as happens
  645. after 1 minute without incoming broadcast packets.
  646.  
  647. FTL0 downloads and broadcast requests or downloads of already complete files
  648. now prints an error message, instead of transmitting a request which results
  649. in nothing useful.
  650.  
  651. New command "smtp maxsession" defines the maximum number of incoming SMTPs
  652. from one remote host.  Default is 1.  When an incoming SMTP session would
  653. cause the maximum to be exceeded, the oldest connection is closed.
  654. This feature was introduced in an attempt to defend against other software
  655. that resets connections after a small number of retries, thereby leaving
  656. open SMTP sessions that will never complete.  These SMTP sessions occupy
  657. resources (memory, open files) on the system and may eventually lead to
  658. problems.  Note that resetting a connection on which data is still outstanding
  659. is against the SMTP and TCP specs, so it is really the remote system which
  660. is at fault.
  661.  
  662. PC "large" version: setting the environment variable "NETEMS" to any value,
  663. before starting NET, causes some EMS memory to be added to the heap.
  664. An EMS 3.2 or 4.0 compliant EMM must have been loaded in CONFIG.SYS.
  665. A message about EMS will be displayed before the usual startup banner, when
  666. the EMM is recognized.
  667. Using EMS memory can leave more DOS memory available to run a SHELL from NET.
  668. However, when using the SCC driver at high baudrates, you may get overruns
  669. because the EMS memory has to be banked-in at interrupt time.
  670. EMS memory cannot be used when "attach packet" is in use.
  671.  
  672. PE1CHL.910828:
  673.  
  674. New command: "ftl0 post <server> <command>" specifies a command (and
  675. parameters) to be executed whenever all queued requests for that server
  676. have been successfully executed.  The command is started at the moment the
  677. FTL0 server is disconnected.  It can be used to process the results of
  678. the FTL0 session in an automated system.  Example:
  679.     ftl0 post uo14 source c:\net\uo14post.net
  680. Use "ftl0 post <server> #" to clear a previously specified command.
  681.  
  682. Adding the keyword "delete" to an "ftl0 upload" command now causes the file
  683. to be deleted after it has been upload successfully.  This is indicated in
  684. the "ftl0 status" output by the indication "[del]".
  685.  
  686. Adding the keyword "perm" to the "bcst abort <bcst_CB>" command now aborts
  687. the file AND marks it as "received", so that no further attempts will be made
  688. to assemble the file. (e.g. to prevent reception of a big file you have upload
  689. yourself, or you are otherwise not interested in receiving)
  690.  
  691. The command "netrom logmask" has been added to allow selection of the events
  692. to be logged.  The logmask is a hex number, being the OR of the following
  693. values:
  694.     0x0001    user connected NET/ROM (AX.25)
  695.     0x0002    user connected NET/ROM (NR4 circ)
  696.     0x0010    downlink okay
  697.     0x0020    downlink fail
  698.     0x0040    circuit okay
  699.     0x0080    circuit fail
  700.     0x0100    link failed
  701.  
  702. PE1CHL.910818:
  703.  
  704. This version includes support for the NEC PC98xx, written by Kohjin JR1EDE.
  705. To accomodate this (and probably other MSDOS machines that are not PC clones),
  706. the environment variable NETCONF is checked during startup.  When it is defined,
  707. it is searched for the following strings:
  708.     k0    use MSDOS call 06H & assume PC keyboard codes (default)
  709.     k98    use NEC PC98xx BIOS call for keyboard input
  710.     t0    use PC BIOS 55ms ticks at 40:6C (default)
  711.     t1    use MSDOS get_time call
  712.     t98    use 8253 timer in NEC PC98xx
  713. The NETCONF variable can be defined using a SET command in a .BAT file, or
  714. by passing it as a parameter when starting NET.
  715. Example: NET NETCONF=k98t98
  716. You can put this command in a .BAT file together with the COMBIOS startup
  717. command to make startup of NET more convenient.
  718. On non-PC-clones, you will have to set the "ftl0 trace" to 00ef instead of 00ff,
  719. to avoid a hangup during an FTL0 session.
  720.  
  721. PE1CHL.910808:
  722.  
  723. "Broadcast servers" can be defined (like FTL0 servers), using:
  724.     broadcast server <servername> <iface> <call> <blocksize> <reqwait> [<minw> <maxw> <UIdest>]
  725.     defines a Broadcast server (satellite). a user-chosen name can be
  726.     assigned to each server, and the remaining parameters are defined as
  727.     required for the different satellites available.  examples:
  728.         broadcast server uo14 9k6 uosat3-11 244 6
  729.         broadcast server uo22 9k6 uosat5-11 244 6 1 3 pblist-1
  730.     parameters can be modified by re-entering the command
  731.     broadcast server
  732.     shows a list of servers defined using the above command
  733.  
  734. [the last four parameters of the command are not yet used - experimenting...]
  735.  
  736. A new form of "broadcast request" can now use the information stored in this
  737. way.  Usage:
  738.     broadcast request <servername> <file_id> [hole|stop]
  739. This saves the typing of interface name, callsign and blocksize for each
  740. request, as this information can now be referred to using the server name.
  741. The old form of the "broadcast request" command still works, and can be used
  742. when an alternative blocksize is to be specified.
  743.  
  744.  
  745. New command "broadcast trace [<hexval>]" controls the unsolicited messages
  746. printed by the broadcast receiver (like "ftl0 trace" does for the FTL0
  747. messages). Parameter <hexval> is the (hexadecimal) OR of the following values:
  748.     0001:    print PBLIST packets sent by server
  749.     0002:    show which commands are sent to server
  750.     0004:    print ACK packets received from server
  751.     0008:    print "file 100%" messages
  752.     0010:    print completed file messages
  753.  
  754. Added audible FTL0 feedback for PC too.     It does not sound as nice, and it
  755. ties up the CPU for 5 milliseconds, but well... there is no sound-generator
  756. chip, so...    Unless you turn it off using "ftl0 trace",
  757.     a high beep is sounded when the server acks an upload packet,
  758.     a lower-pitched beep sounds for each received packet.
  759.  
  760. Added mail distribution optimizer as suggested by PA2AGA.  When the mail is to
  761. be sent to multiple users at the same host (e.g. via an alias entry that is
  762. used as a mailing list), the message is sent to that host only once, with
  763. multiple recepients.  This is done by scanning the recepient list for equal
  764. hostnames.  Aliases for the same host are not recognized as such.
  765.  
  766. Program can now be compiled using Borland C++ version 2.0
  767.  
  768. PE1CHL.910802:
  769.  
  770. Enhanced disk-full checking when receiving broadcast (those UoSAT-22 pictures,
  771. you know...)
  772. Also changed fill character to 0x00 when incomplete files are saved.  This is
  773. useful when receiving raw pictures.  (filler used to be '?')
  774.  
  775. The first fragment of a file is now always saved when received during
  776. broadcast.  Useful when changing files are broadcast.
  777.  
  778. UNIX version: ihave.bc and frags.bc now put in broadcast directory properly.
  779. Please delete any file xxxx\*.bc you may have on disk (xxxx = broadcast directory)
  780.  
  781. PE1CHL.910720:
  782.  
  783. FTL0 has been enhanced with a p-persistant automatic connect.  Now, when the
  784. "Open" packet is received, the connection attempt will be made after a random
  785. delay between "minw" and "maxw" seconds.  These values *must* be specified in
  786. the ftl0 server command, just before the bbstat.  PG uses minw=1 and maxw=3.
  787. Example:
  788.     ftl0 server uo14 9k6 uosat3-12 130 2 2 1 3 bbstat "Open"
  789. MAKE SURE YOU UPDATE YOUR AUTOEXEC.NET when installing this version!
  790.  
  791. Some minor changes in the NET/ROM handling should again improve it's operation,
  792. and the appearance of the NODES list (less unreachable nodes).
  793.  
  794. Fixed bug in tty driver that caused trouble with raw-mode telnet.
  795.  
  796. Fixed CR/CR/LF sequence in Atari rcmd (Turbo C only)
  797.  
  798. PE1CHL.910622:
  799.  
  800. "ftl0 dir" commands with "f" (file_id) and "t" (to_addr) specification now
  801. accept an optional extra parameter, the HIGHTIME to be used for the selection.
  802. This allows more efficient selections to be made with the current satellite
  803. software implementation, that optimizes it's search when a HIGHTIME is given.
  804. Example: To get "all messages sent to me and all messages sent to ALL after"
  805. 910622 01:05:00", use the follwing two commands:
  806.     ftl0 dir uo14 t *all* 910622010500
  807.     ftl0 dir uo14 t pe1chl 910622010500
  808. Then run PFH with the -c option to compact and re-sort DIRFILE.DL, and run PFH
  809. with the -d option to display the directory.  The next time, use the HIGHTIME
  810. indicated by PFH on the last line of the -d display.  Using this technique,
  811. one can keep track of all personal messages and bulletins without having to
  812. download all of the satellite's directory.
  813.  
  814. NET/ROM "users" command now differentiates between established connections and
  815. connections in setup phase using the symbols "<-->" and "<..>".
  816.  
  817. PE1CHL.910609:
  818.  
  819. The alias for NET/ROM routes added automatically when a packet is received
  820. from a node for which no route exists is changed to "######".  Previously,
  821. such routes got no alias at all.
  822.  
  823. Failures of a NET/ROM link are now logged to the logfile.
  824.  
  825. When a file received with broadcast is 100% complete, a message is printed.
  826. At that time, you could enter a new broadcast request. (the current software
  827. on the satellites allows only a single broadcast request per user)
  828. The program still waits for 1 minute without received broadcast packets before
  829. it writes all the received data to the permanent files in the broadcast
  830. directory.
  831.  
  832. New command: "broadcast cleanup [<percentage>]" will abort all files that have
  833. less data than a specified percentage (default 10%).  This provides a quick
  834. way to get rid of those files of which only a few fragments were received.
  835.  
  836. When "broadcast stop" is executed, the fragments of files received will be
  837. saved in a file "frags.bc" in the broadcast directory, that will be reloaded
  838. when broadcast is started again.  When the "broadcast stop" command is in the
  839. file "onexit.net", this allows exit from NET and a later re-start, while
  840. retaining the data for partially received files.
  841.  
  842. PE1CHL.910603:
  843.  
  844. "netrom nodefilter mode" and "netrom nodetimer" now can be set per interface.
  845. Specify the interface name as an extra parameter.  When name is omitted, the
  846. value is set for all interfaces, as before.  Because these commands now only
  847. act on actually initialized interfaces, these commands have to be moved from
  848. their original location in CONFIG.NET to a line below the "netrom interface"
  849. commands in AUTOEXEC.NET.
  850.  
  851. new mode "smtp mode forward".  works like "smtp mode route", except that it
  852. won't write new .txt files in the mail directory.  useful for unattended nodes
  853. that can forward mail (using "alias" file or the user%host1@host2 construct),
  854. but do not want to accept local mail.
  855.  
  856. PE1CHL.910525:
  857.  
  858. Fixed problem in Broadcast Protocol Hole-list request: the requested list did
  859. not include the hole between the last received fragment and EOF.
  860. When this was the only hole, a request for the entire file was sent.
  861.  
  862. Idle-timers for FTL0 connections have been changed to accomodate for long
  863. processing delays aboard the satellite.     Now, instead of disconnecting after
  864. timeout the program first tries to poll using RR(P) and simply resets the
  865. connection when there is no reaction.  Hopefully this prevents the looping
  866. behaviour that was often seen when the link failed.
  867.  
  868. When a DM is received on an open AX.25 connection, the connection is no longer
  869. automatically re-established.  It goes to "disconnected" state after the
  870. message *** LINK RESET from ....
  871.  
  872. Fixed problem in mail destination check: the SMTP server refused mail
  873. for dest@call.bbs when there is no route to [255.255.255.255], even when
  874. the proper forwarding file for call.bbs existed.
  875. This is because "call.bbs" destinations are internally mapped to this IP
  876. address.  In 910330, this problem can be worked around by defining the route.
  877. (e.g.: route add [255.255.255.255] 144)
  878.  
  879. Added support for the Z85130/Z85230 ESCC chip to the SCC driver.  This is
  880. enabled by using "attach escc" instead of "attach scc" to attach the channels.
  881. The "init" attach line can use either "scc" or "escc", with no difference.
  882. The total set of chips driven by the SCC driver can be a mix of Z8530/Z85C30
  883. (SCC) and Z85130/Z85230 (ESCC).
  884. The ESCC can run fullduplex without the external divide-by-32.    When no divider
  885. is fitted, the "d" option in the baudrate field should be omitted (as always).
  886. The main advantage of the ESCC is the larger TX FIFO (4 bytes instead of 1) and
  887. RX FIFO (8 bytes instead of 3), allowing a longer interrupt latency without
  888. causing overrun/underrun errors.
  889. Therefore, the chip can be used at the high edge of the speed range supportable
  890. using interrupt-driven I/O (19200 and possibly 38400 baud). It also solves some
  891. bugs in the original SCC, and creates a few of its own.
  892. Unfortunately, it is quite expensive, so for now the best choice is likely
  893. to remain the SCC.
  894.  
  895. PE1CHL.910508:
  896.  
  897. Fix in AX.25 mailbox: mail can now be terminated with ^Z anywhere on a line, not
  898. only on first position.     The part of the line before the ^Z will be written
  899. to the mail, but a CR/LF will allways be appended.
  900. Necessary when F6FBB BBS forwards mail to it, because FBB leaves partial lines
  901. ending in ^Z in mails, and hangs the forwarding.
  902. Other boxes do the same as NET.PE1CHL now does, avoiding the problem...
  903.  
  904. PE1CHL.910428:
  905.  
  906. Changed NET/ROM: The output of the command-interpreter is now sent as
  907. separate packets instead of a single message (with MORE bit set on all
  908. packets but the last).    This was done to prevent crashes in old NET/ROM
  909. nodes that occur when long messages are sent, e.g. the output of "N * *".
  910. The consequences of this change are:
  911.     1. the output is now sent in 236-byte packets (instead of 256)
  912.     2. when the link fails you may receive an incomplete response
  913.  
  914. Fixed check in NET/ROM command interpreter to make sure only the NET/ROM call
  915. valid for the interface the user is connecting on can be used, not those of
  916. other interfaces.  (e.g. PI1NOS vs PI8NOS)
  917.  
  918. Added some extra output flushes in Broadcast and FTL0 (some messages appeared
  919. only when a key was hit)
  920.  
  921. PE1CHL.910330:
  922.  
  923. Fixed problem in "netrom bcdest".  When more than one destination was given,
  924. some garbage was transmitted in the first netrom broadcast to the second (and
  925. further) destinations.
  926.  
  927. Removed limit of 10 on "smtp maxcli".  You can set any limit now, but
  928. understand that the program can open only 20 files and that failure to open
  929. a file may occur if too many sessions are active.  This does not include any
  930. sessions in "SYN sent" state.
  931.  
  932. SMTP server now checks mail destination more throughly.     When the destination
  933. system is not reachable the mail is refused.
  934.  
  935. PE1CHL.910317:
  936.  
  937. Fixed problem that caused crash when "exit" was done on PC and SCC driver
  938. was in use. (caused by timer tick interrupt number fix)
  939.  
  940. When connected by a forwarding/reverse-forwarding BBS, the AX.25 mailbox now
  941. disconnects after a single command error (after sending "Huh?").
  942. This avoids looping when the two systems get out of sync and send error
  943. messages to eachother, something that could happen with an F6FBB BBS.
  944.  
  945. Added printout of "ack" message sent by satellite on "broadcast request".
  946.  
  947. Added "broadcast request" to stop a broadcast, like:
  948.     broadcast request 9k6 uosat3-11 af7 244 stop
  949.  
  950. Added command to grab UI frames sent to specified (or all) destinations. This
  951. can be used to get satellite telemetry, and other data sent as UI frames.
  952. The grabbed frames are appended to a file, further processing is required to
  953. make them readable.  This is supposed to be done in an external program.
  954. Only those frames not locally processed by other protocols can be grabbed.
  955. Commands:
  956.     ax25 uigrab
  957.     ax25 uigrab <filename> [<dest>...]
  958.     ax25 uigrab off
  959. The first form displays the current state and destinations.  The second form
  960. enables the grabbing, specifying an output file and 0 or more destinations.
  961. When no destinations are given, ALL non-handled UI frames are grabbed.    One
  962. or more destinations (like QST QST-1 MAIL TLM) can be specified to limit the
  963. amount of data grabbed, especially when TCP/IP traffic is present.
  964. The third form of the command stops the grabbing.
  965. The data is dumped in the output file as a sequence of headers and packets. The
  966. headers are formatted like this:
  967.     struct axui_header
  968.     {
  969.     unsigned long    magic;        /* magic number for re-sync */
  970. #define AXUI_MAGIC    0x41585549L
  971.     long        rxtime;        /* timestamp */
  972.     char        ifname[6];    /* interface name */
  973.     short int    len;        /* length of following data */
  974.     };
  975. The rxtime is the number of seconds since 1970 at the time the packet was
  976. processed.  The ifname field contains the first 6 characters of the interface
  977. name, \0-terminated when it is shorter.     len specifies the number of bytes
  978. in the received packet.
  979. The received packet immediately follows the header.  It includes the AX.25
  980. header, consisting of shifted-ASCII addresses, ctl byte (03 or 13) and PID.
  981.  
  982. PE1CHL.910228:
  983.  
  984. NET/ROM routing broadcasts are made configurable.  The "netrom bcdest" command
  985. can add or drop destinations to/from a list for each NET/ROM interface:
  986.     netrom bcdest <iface> add <dest> [<digi1> [<digi2>]]
  987.     netrom bcdest <iface> drop <dest> [<digi1> [<digi2>]]
  988.  
  989. The existing destinations can be displayed using "netrom bcdest <iface>".
  990. By default, only the destination NODES exists.    It can be dropped using
  991. "netrom bcdest <iface> drop nodes".  One or more destinations can be added
  992. to the list.  Keep in mind that the node broadcast can be very lengthy when
  993. you add multiple destinations, and some temporary memory is needed at that
  994. time to queue all the packets.    Limit the number of destinations to the
  995. minimum.
  996. Node broadcasts can now be completely disabled on a single interface while
  997. still having NET/ROM capability on that interface, by dropping all destinations.
  998.  
  999. The NET/ROM now also accepts node broadcasts via up to two digipeaters.
  1000.  
  1001. PC: the interrupt number to be used for SCC timer ticks can now be specified as
  1002. an optional parameter to the "attach scc init" command.     The default is 08, i.e.
  1003. the hardware timer interrupt.  Possible other candidates are 1C and 70.     The
  1004. driver assumes that the timing hardware has been initialized before and a handler
  1005. is in place that resets the pending interrupt.    It only chains it's handler on
  1006. the specified vector.  The tickrate should be somewhere between 18 and 200 ticks
  1007. per second.  Example:
  1008.     attach scc 2 init 150 4 2 0 1 168 3 p4915200 0 0 1c
  1009. Note that the 2 hardware-dependent parameters after the clockfrequency should be
  1010. present in this case.  Use zeroes when these parameters are not needed.
  1011. Also note that the 1C vector is not suitable when multi-tasking DOS replacements
  1012. like Desqview and Doubledos are in use.     Vector 70 can only be used in an AT, and
  1013. needs a TSR routine to setup and handle the RTC timer interrupt.
  1014.  
  1015. PE1CHL.910218:
  1016.  
  1017. Fixed bug in FTL0 downloading on PC: It did not properly send the continue
  1018. offset when a download was resumed after a link failure.  This resulted in
  1019. corrupted files when the download could not be completed in one go.
  1020.  
  1021. FTL0 download: files are now named *.pdl during download, and renamed to *.dl
  1022. when download succesfully completes.
  1023.  
  1024. "broadcast request" command: the blocksize is now optional, and defaults to 244.
  1025. so, you can now request the broadcast of a specific file using a command like:
  1026.     b r 9k6 uosat3-11 af7
  1027. the blocksize *must* be given when you want to send a hole-list:
  1028.     b r 9k6 uosat3-11 af7 244 hole
  1029. note that this is still not supported in the onboard satellite software.
  1030.  
  1031. SCC driver: the sccstat command now accepts a channel number to display info
  1032. about a single channel.
  1033.  
  1034. Added "calibrate" facility to SCC driver: sccstat c <chan#> sends 30 seconds
  1035. of zeroes (NRZI pattern 101010...) on AX.25-type interfaces.  This is intended
  1036. for tune-up of TCM3105 modems and for link tests.  When 30 seconds isn't enough,
  1037. simply re-issue the command (we're still waiting for that SCC card test program)
  1038.  
  1039. PE1CHL.910127:
  1040.  
  1041. Corrected bug in "bcst abort" and "bcst complete" that caused either a
  1042. "not a valid control block" or a crash when these commands were used.
  1043.  
  1044. Added "ftl0 cancel <Req_CB>" to cancel a queued request.  <req_cb> can be
  1045. found in the "ftl0 status" output.  Active requests cannot be canceled.
  1046.  
  1047. Added "ftl0 directory <server> s <selection>
  1048.     intended for use by an external selection compiler. <selection> is a
  1049.     string of hexvalues, forming a valid FTL0 SELECTION.
  1050.  
  1051. Note that the form "ftl0 directory <server> a <yymmddhhmmss>" is most
  1052. efficiently processed by the satellite software.  All other forms can take
  1053. a long time to execute onboard the satellite, with the danger of losing the
  1054. connection in the meantime.
  1055.  
  1056. PE1CHL.910123:
  1057.  
  1058. Added "ftl0 directory <server> a <yymmddhhmmss>
  1059.     gets a directory like described below.    selection is on upload_time
  1060.     later than the specified date/time.  part of the date/time spec can
  1061.     be omitted, defaulting to zeroes.
  1062.  
  1063. Added "ftl0 trace [<hexval>]"
  1064.     sets the trace level for FTL0 transactions.  the hex value is the OR
  1065.     of the following values:
  1066.     0001:    print BBSTAT packets sent by server (only when jobs are queued)
  1067.     0002:    show which commands are sent to server
  1068.     0004:    show state changes on AX.25 link (connected, busy etc)
  1069.     0008:    print alert message when link disconnected permaturely
  1070.     0010:    Atari ST only: audible feedback of ack'ed and received packets
  1071.         a high click is sounded when the server acks an upload packet,
  1072.         a lower-pitched click sounds for each received packet.
  1073.         from 910807: also implemented in PC version
  1074.  
  1075. PE1CHL.910119:
  1076.  
  1077. Automatic connection of FTL0 server built in.  When there is work queued, and
  1078. the server is heard sending a specific UI frame, the connection is
  1079. automatically set up.  For this purpose, the "ftl0 server" command has been
  1080. extended with optional <UIdest> and <UIstring> parameters specifying the
  1081. destination address and a string to be matched in the UI frame.     For UOSAT3
  1082. and PACSAT these parameters would be specified as "BBSTAT" and "Open", e.g.:
  1083.     ftl0 server uo14 9k6 uosat3-12 130 2 2 bbstat "Open"
  1084. When a packet to <UIdest> is received while work is queued, it is printed.
  1085. !!!! see 910720 for a change in the ftl0 server command !!!!
  1086.  
  1087. FTL0 client now doesn't connect the server anymore when an upload request is
  1088. queued.     An explicit "ftl0 kick" is required to connect the server, or the
  1089. automatic connect feature must be used.
  1090.  
  1091. New FTL0 commands:
  1092.     ftl0 directory <server> f <file_id>
  1093.     ftl0 directory <server> t <dest_address>
  1094.     gets a directory from the specified server, and stores it in the file
  1095.     "dirfile.dl" in the directory specified using "ftl0 homedir".
  1096.     (see below).  The first form gets a directory of all files with a
  1097.     file number above the specified value, the second form searches for
  1098.     files with the specified destination address.  The wildcard characters
  1099.     "?" and "*" can be used in the destination address.
  1100.     example: ftl0 dir uo14 t *pe1chl*
  1101.     ftl0 download <server> <file_id> [<register_dest> [<lock_dest>]]
  1102.     queues a file for download from an FTL0 server.
  1103.     <file_id> is the id of the file to download (on the FTL0 server)
  1104.     <register_dest> and <lock_dest> are sent as specified in the FTL0 spec.
  1105.     when omitted these default to 0, as required for ordinary file
  1106.     downloads.
  1107.     ftl0 homedir <directory-name>
  1108.     sets the directory used by FTL0 download and directory commands to
  1109.     store the received files.  A subdirectory will be created, named using
  1110.     the callsign part of the source address (e.g. UOSAT3 or PACSAT).
  1111.  
  1112. PE1CHL.910106:
  1113.  
  1114. Limited FTL0 client support built in, to upload files to PACSAT-type satellites.
  1115. The following commands are recognized:
  1116.     ftl0 server <servername> <iface> <call> <paclen> <maxframe> <frack>
  1117.     defines an FTL0 server (satellite). a user-chosen name can be assigned
  1118.     to each server, and the remaining parameters are defined as required
  1119.     for the different satellites available.     examples:
  1120.         ftl0 server uo14 9k6 uosat3-12 130 2 4
  1121.         ftl0 server po16 psk pacsat-12 130 1 6
  1122.     parameters can be modified by re-entering the command
  1123.     ftl0 server
  1124.     shows a list of servers defined using the above command
  1125.     ftl0 status <servername>
  1126.     shows the status of that server (including any requests queued)
  1127.     ftl0 upload <server> <filename> [<file_id>]
  1128.     queues a file for upload to the specified server.  the filename should
  1129.     be a full pathname to avoid problems when a "cd" is done.
  1130.     of course the file must have a valid Pacsat File Header!
  1131.     when the <file_id> is specified the upload is treated as a continuation
  1132.     of an earlier attempt.
  1133.     when no link exists to the server, the "ftl0 upload" command tries to
  1134.     establish it.
  1135.     ftl0 kick <server>
  1136.     try to establish a link to the specified server, to attempt to execute
  1137.     all queued requests for that server.
  1138.     must be issued when a BUSY was returned at the "upload" command, or when
  1139.     the link failed for some reason.
  1140. When the client has a link to a server, it attempts to execute all queued jobs
  1141. for that server.  When this is finished, it disconnects the server immediately.
  1142. Re-connection takes place when new jobs are submitted, or when the "ftl0 kick"
  1143. command is issued.
  1144. When the link fails, it is not necessary to re-queue any of the jobs.  These are
  1145. held as long as the program is running.     Should it be necessary to exit from NET
  1146. and lateron resume an upload, the upload must be re-queued using the file_id
  1147. received at the first attempt.    This file_id can be found in the output of the
  1148. "ftl0 status" command, and is also logged in the logfile.
  1149.  
  1150. PE1CHL.901226:
  1151.  
  1152. New broadcast subcommands:
  1153. broadcast abort <bcst_CB>: this terminates the specified broadcast file
  1154. reception and throws away all received data (unlike "broadcast complete" which
  1155. saves it, even when the file is incomplete)
  1156. broadcast request <iface> <call> <file_id> [<blocksize> [hole]]: sends a broadcast
  1157. request to the specified call, requesting transmission of file_id.  the
  1158. blocksize specifies the packet length and can be up to 244.
  1159. When "hole" is specified, the hole-list (list of missing packets) is sent
  1160. with the request. (note: this is not yet supported by the satellite...)
  1161.  
  1162. The "session" command can now send a line of text to a session.     Usage:
  1163. session 1 "one line of text"
  1164. This sends the argument (if more than one word is has to be quoted) to
  1165. session 1.  When "session c" is specified it is sent to the current session.
  1166. This can be used in "source" files and/or with the "at" command to start
  1167. FTP transfers at a convenient time, or to login to an FTP session.  One could
  1168. put the following in a file and execute it using "source":
  1169. ftp pe1chl
  1170. ses c "user guest"
  1171. ses c "pass rob"
  1172. ses c "type i"
  1173.  
  1174. Some enhancements to the TNC2 emulator make it more compatible with a real TNC2.
  1175. Now, the "paclen", "maxframe", "frack", "resptime" and "check" parameters are
  1176. really used for TNC2 connections.  Of course the defaults are the same
  1177. unreasonable values as used by the TNC2 firmware, so these should be set before
  1178. a connection is made (especially "frack").
  1179.  
  1180. PE1CHL.901215:
  1181.  
  1182. When the AX.25 forwarder receives a NO reply when sending a message, it is
  1183. returned to the sender and the forwarder skips past the 'b' command.  This allows
  1184. bulletin forwarding to boxes that allow abbreviated forwarding.     The SID string
  1185. has to be sent explicitly.
  1186. The new command 'f' in the forwarder script allows reverse forwarding. A string
  1187. to request reverse forwarding can follow the 'f', the default is "F>".
  1188. Example of a script to forward to MBL/RLI boxes using abbreviated forwarding:
  1189.  
  1190. c 430 pi8utr            connect the mailbox
  1191. w>                await the > prompt
  1192. s[NET-H$]            send SID
  1193. r>                next line must be > prompt
  1194. l                loopback point
  1195. mS%s %s@%s < %.6s $%.12s    send a mail or bulletin
  1196. rOK                response must be OK
  1197. u%s                send subject
  1198. b                send body
  1199. w>                await the > prompt
  1200. n                send next mail (if any) from loopback point
  1201. f                request reverse forward
  1202.  
  1203. PE1CHL.901212:
  1204.  
  1205. Shortened the version string.  This version has so little left from the
  1206. original 871225.33 base that this seems to be warranted.
  1207.  
  1208. Added Pacsat Broadcast Protocol reception capabilities.     The system can
  1209. receive files transmitted using this protocol.    Currently OSCAR14 and
  1210. OSCAR16 use it, and OSCAR19 will follow shortly.
  1211. The commands currently defined are:
  1212.  
  1213. broadcast start "pathname":  This will enable the storage of received
  1214.     broadcast frames.  The pathname refers to a directory where the
  1215.     completed files fill be stored.     Example: broadcast start "c:\bcst".
  1216.  
  1217. broadcast stop: Disable the broadcast receiver.     All completed files will be
  1218.     moved to the directory specified in broadcast start, and all fragments
  1219.     of incomplete files will be discarded.
  1220.  
  1221. broadcast status: Shows the status of the broadcast receiver, including some
  1222.     statistics and the status of each incomplete file.  The fragment list
  1223.     of an incomplete file can be shown using "broadcast status <bcst_cb>".
  1224.     The file currently (or last) being received is marked with a '*'.
  1225.  
  1226. broadcast ihave: Shows a list of all files that have been stored away in the
  1227.     directory specified in the "broadcast start" command.
  1228.     This list is kept to prevent duplicate reception of files.
  1229.  
  1230. broadcast complete <bcst_CB>: Forces the storage of a received file.  When this
  1231.     command is given for a file that is not yet complete, the gaps in the
  1232.     file will be filled with question marks '?'.
  1233.  
  1234. Any broadcast packets received for files "under construction" are first stored
  1235. in a temporary file (the name of this file is shown in the "broadcast status"
  1236. output).  Only when the file is complete it is moved to it's destination.
  1237. The directory for temporary files can be modified by setting the TMP environment
  1238. variable (or TMPDIR on the Atari ST).  This can be done using "setenv" (see below).
  1239.  
  1240. The broadcast receiver kicks a 60-second timer each time a broadcast packet is
  1241. received.  When this timer elapses (i.e. after 60 seconds without incoming
  1242. broadcast packets), the list of incoming files is examined and all complete
  1243. files are moved to their destination directory.     The same thing is done when
  1244. a "broadcast stop" is executed.     This implementation allows full CPU attention
  1245. during the highspeed transmissions from OSCAR14, assuming that the timer only
  1246. elapses after the satellite is out of reach.  When you want to exit NET before
  1247. the timer has elapsed, execute a "broadcast stop" to update and close all files.
  1248.  
  1249. The directory specified in the "broadcast start" command holds a file "ihave.bc",
  1250. which is updated when a file is stored away.  A copy of this file is kept in
  1251. memory for fast lookup when a broadcast packet is received.  Any packets belonging
  1252. to files in the list are ignored.  To save memory, it is best to remove the old
  1253. entries from this file when it is certain that they are no longer broadcast.
  1254. This can be done using a text editor.  It is also possible to delete the file.
  1255. The broadcast receiver will store incoming files in subdirectories of this same
  1256. directory, named after the sourcecall used in the broadcast packets.  e.g.: files
  1257. received from OSCAR14 will be stored in the directory UOSAT3, because this
  1258. satellite sends broadcast data as UOSAT3-11->QST-1.
  1259. The individual files will be named iiiiiiii.tt, where iiiiiiii is the 8-digit HEX
  1260. file ID (as assigned by the satellite) and tt is the 2-digit HEX filetype (as
  1261. assigned by the uploader).
  1262.  
  1263. The handling of broadcast packets at 9600 baud (as sent by OSCAR14) imposes a
  1264. considerable load on the processor and disk.  As it has been observed that some
  1265. slower systems already have trouble with 9600 baud AX.25, it can probably be stated
  1266. that an AT system is needed to successfully receive broadcast at this speed.
  1267. Tests on the Atari ST (using the SCC interface, TOS 1.4 and a RAMdisk for
  1268. temporary files) have shown no difficulties.
  1269.  
  1270.  
  1271. 871225.33.PE1CHL.901129:
  1272.  
  1273. Implementation of IP over X.25, currently only for the EiconCard adapter.
  1274. This allows routing of IP packets via an X.25 network, thus allowing the
  1275. construction of a bridge between different local area networks using NET.
  1276. The implementation follows RFC877, transmission of IP datagrams over Public
  1277. Data Networks.
  1278. Unfortunately, the cost of a connection to the public X.25 network is way
  1279. out of reach for amateur use...
  1280. This feature is composed of the following subcommands:
  1281.     attach eicon <port> <label> <mtu>
  1282.     Attaches an EiconCard, previously installed and configured using the
  1283.     configuration tools delivered with it.    Only the X.25 Network-level
  1284.     software is required (ACCESS/X25).
  1285.     <port> will normally be 255 when a single card is installed.
  1286.     Subsequent ports are numbered 254, 253 etc (as defined by Eicon).
  1287.     <label> is the name of the interface.
  1288.     <mtu> should be set to a value of 576 or less to comply with RFC877.
  1289.     When an IP datagram is larger than an X.25 packet, the X.25 MORE bit
  1290.     is used to fragment it.     When this is unwanted, the MTU should be set
  1291.     to a value equal to the maximal X.25 packet size (128 or so).
  1292.     arp add <hostname> x25 DTE-address
  1293.     Used to map the IP address corresponding to <hostname> to a DTE address
  1294.     valid in the X.25 network.  This situation is similar to the method
  1295.     used when routing via NET/ROM.    A DTE address is a string of digits,
  1296.     up to 15 in length.
  1297.     x25 inactime [<time>]
  1298.     Sets the time an X.25 VC is allowed to be idle. after this time the
  1299.     circuit is disconnected, and set-up again when a packet has to be
  1300.     transmitted.  The default is 120 seconds.
  1301.     x25 status
  1302.     Shows the status of the X.25 Virtual Circuits.
  1303.     x25 disconnect <circ_cb>
  1304.     Disconnects an X.25 Virtual Circuit before the inactime has elapsed.
  1305.  
  1306.  
  1307. Experimental version compiled using Turbo C on the Atari ST.  Most problems
  1308. seem to be solved.  Please report bugs found in this version, that were not
  1309. present in the earlier MWC versions.
  1310.  
  1311. 871225.33.PE1CHL.901122:
  1312.  
  1313. Introduced "tcp ubound <time>" command to set an upper bound to the
  1314. Retransmission Timer used by TCP.
  1315. This will clip the timeout to a certain level when the backoff increases,
  1316. so that there is a better chance that the session stays alive.
  1317. <time> is specified in seconds, with a minimum of 1800.     A value of 0 will
  1318. turn off this feature (and restore operation as it always was).
  1319.  
  1320. Fixed "mheard" so that "mheard <iface> 1" no longer hangs the system.
  1321.  
  1322. Temporary files in the PC Turbo C version are now created in a fixed place,
  1323. instead of in the current directory.  This should also eliminate the failure
  1324. to remove the tempfiles, that occurred when the current directory was changed
  1325. between creation and deletion of a tempfile (a bug in the Turbo C library).
  1326. When the environment variable TMP has been set, it's value is used as the
  1327. directory name for tempfiles.  If not, they are created in the root directory.
  1328. Put something like "setenv TMP C:\tmp" in autoexec.net to define TMP, and
  1329. make sure the directory exists.
  1330.  
  1331. Added trace code for the "broadcast" protocol used on microsats (K8KA/NK6K).
  1332.  
  1333. 871225.33.PE1CHL.901108:
  1334.  
  1335. Some source cleanup using prototypes.  Possibly the memory leak problem has
  1336. been solved (a suspicious pointer conversion was tracked down and removed).
  1337.  
  1338. Implemented ICMP "Host Unreachable" and "Source Quench" message generation by
  1339. the IP router, when the link protocol detects such problems.  This is currently
  1340. true for NET/ROM, when it has no route to the requested destination or it's
  1341. output queue is becoming too long.  Handling of these messages has always been
  1342. present in the package.
  1343. The result of this modification is that you may get the message
  1344. "Closed (ICMP: Host unreachable)" when a TCP connection is attempted using
  1345. a route via the NET/ROM network.
  1346.  
  1347. Added "ax25 txq <axcb> [a|h|l]" command to display the contents of an AX.25
  1348. transmit queue.     Primarily intended for evaluation of the effects of above mod.
  1349.  
  1350. When an outgoing NET/ROM link is set up, the AX.25 connection now ignores
  1351. incoming packets with pid=Text.     This has become necessary because more and
  1352. more NET/ROM clones are sending a connect text to everything issuing a connect,
  1353. causing the local side of the connection to start a NET/ROM level 7 session.
  1354. Because of this change, some programs will no longer be able to simultaneously
  1355. have a NET/ROM- and a normal TNC session with a station running NET.
  1356.  
  1357. 871225.33.PE1CHL.901014:
  1358.  
  1359. Fixed minor bugs.
  1360.  
  1361. Added "memstat dump <file>" to Atari ST version, to dump the heap to a
  1362. diskfile.  This can be used to debug the program, but is otherwise of little
  1363. use to the end-user.  When you see the number of "bytes used" in the normal
  1364. memstat output steadily increasing, please issue a "memstat dump a:memdump" and
  1365. send the resulting floppy to me including your configuration files and a short
  1366. description of the situation at the time this happened.
  1367.  
  1368. 871225.33.PE1CHL.901007:
  1369.  
  1370. PA0HZP fixed the packet driver interface in PC Turbo C version
  1371.  
  1372. Fixed bug in TCP header routine causing garbage printout when TCP headers
  1373. returned by ICMP are traced.  An earlier fix caused complete failure of
  1374. the returned TCP header handling...
  1375.  
  1376. Fixed double-linefeed problem in PC (Turbo C) type-a FTP
  1377.  
  1378. Problem with long lines in AX.25 forwarder (introduced in 900807) fixed.
  1379. It crashed the system when the message contained lines longer than PACLEN.
  1380. The forwarder still wraps very long lines (it inserts a CR after 255 chars).
  1381. Remember that mail is NOT transported transparently.  When you want to send
  1382. files without any modification, it is best to ARC and then UUENCODE them.
  1383.  
  1384. The "ax25 framesammler" has been removed.  This option caused mis-sequenced
  1385. and damaged frames in AX.25 connections.  The command "ax25 maxsammler" no
  1386. longer exists, so it should be deleted from the "config.net" file.
  1387.  
  1388. AX.25 BBS SID changed from [NET-$] to [NET-H$].     The BBS gurus say that is
  1389. more appropriate.
  1390.  
  1391. 871225.33.PE1CHL.900813:
  1392.  
  1393. Fixed minor bugs in Turbo C version for the PC.
  1394.  
  1395. SCC driver now allows complete specification of the clocking mode, so that
  1396. all modems requiring- or providing external clocks can now be controlled.
  1397. The value to be written to WR11 of the Z8530 can now be specified as a
  1398. hexadecimal value after the existing baudrate specification, separated by a
  1399. colon (e.g. d1200:66).    This is not necessary for the standard AFSK modems
  1400. and the HAPN 4800 baud modem, as these do not require external clocks.
  1401. Refer to a Z8530 technical manual for more information about the value to be
  1402. written to WR11.
  1403.  
  1404.  
  1405. 871225.33.PE1CHL.900807:
  1406.  
  1407. Fixed a problem in the AX.25 forwarder: when no "r" or "w" line was present
  1408. in the script after "m" "u" or "b", the forwarder did not proceed.
  1409. Therefore it was impossible to forward to mailboxes that do not prompt for
  1410. the subject and/or the message, or don't send a CR after such prompts.
  1411. This is now fixed, and the following script works:
  1412.  
  1413. # forward test to personal mailbox
  1414. c 430 pe1chl-15
  1415. w>
  1416. # now we are connected, send each mail
  1417. l
  1418. mS%.0s %s
  1419. u%s
  1420. b
  1421. rOK
  1422. w>
  1423. n
  1424.  
  1425. This sends the S <call> command, the subject, and the entire message in one
  1426. go, and then checks for a response containing "OK".  For more detail about
  1427. forwarding scripts see the explanation further down this file.
  1428.  
  1429. The forwarder now concatenates multiple lines from the message into a single
  1430. packet, whenever the total length of these lines is below paclen, except when
  1431. the effective window (maxframe) is less than 2.
  1432.  
  1433.  
  1434. The answer to a often-asked question about NET/ROM:
  1435. You can use different calls for the NET/ROM on different interfaces (e.g. a PI1
  1436. call on 23cm).    Specify the calls you want to use in the "attach" commands for
  1437. the different interfaces.  Somewhere after these attach commands the
  1438. autoexec.net file contains the line "attach netrom $CALLSIGN-9".  When this
  1439. line is changed to "attach netrom" (without the callsign), the NET/ROM will use
  1440. the interface callsigns on each band.  Make sure that you use a "hidden" alias
  1441. (starting with a # sign) for the interlink nodes of the NET/ROM!  The alias can
  1442. be separately specified for each interface in the "netrom interface" lines.
  1443.  
  1444. 871225.33.PE1CHL.900710:
  1445.  
  1446. On "exit", the program now waits for the interface queues to drain.  This
  1447. should solve problems with param commands placed in "onexit.net".  This often
  1448. did not function reliably because the interfaces were reset *before* the
  1449. characters were actually transmitted.
  1450.  
  1451. Atari version now supports up to 5 async channels.  The 2 params after
  1452. "attach asy" (<addr> and <vec>) can now have the following values:
  1453.  
  1454.     addr    vec
  1455.      1     0    ST RS232 port using Bcon* calls (BIOS)
  1456.      1     1    ST RS232 port using direct access to fifo buffer
  1457.      3     0    MIDI port
  1458.      6     0    ST-compatible RS232 port on TT030
  1459.      7     0    MODEM2 port on TT030
  1460.      8     0    SERIAL1 port on TT030
  1461.      9     0    SERIAL2 port on TT030
  1462.  
  1463. The old <addr> values 0 and 2 remain valid (for RS232 and MIDI).
  1464. Ports 6 and 7 could also be used on an ST with TOS 1.2 or higher, and a user-
  1465. written device driver (loaded from the AUTO folder) that supports the Bcon*
  1466. routines on BIOS devices 6 and 7.  However, on an ST it is not possible to set
  1467. the mode and baudrate for these channels so your driver must set the port to
  1468. 8bit, no parity, 1 stopbit, no handshake and the correct baudrate.
  1469. The driver must also supply a FIFO buffer for transmit and receive.
  1470.  
  1471. Unix/XENIX release.  Only supports async I/O for now... (SLIP/KISS/NRS)
  1472. To attach a serial line, use an attach command like this:
  1473.  
  1474.     attach asy /dev/tty1a 0 ax25 ax0 512 256 9600 pe1chl
  1475.  
  1476. - the tty device (/dev/tty1a) must be "disable"d, and have read/write permission
  1477.   for the user running NET.
  1478. - the "0" value can be replaced by "r", "c" or "rc" to set the RTSFLOW and
  1479.   CTSFLOW options for the device.
  1480. - the next two fields are the type (ax25) and name (ax0)
  1481. - the "512" is the size of the read() buffer used for receive
  1482. - the "256" is the MTU (paclen)
  1483. - the next fields are the speed (bits per second) and callsign
  1484.  
  1485. The program is available in 2 versions, net286 and net386.  The '386 version
  1486. can use the select() function internally to improve efficiency.     This can be
  1487. enabled by starting the program using: net386 select=kt
  1488. The 'k' and 't' enable the use of select() for keyboard(stdin) and tty devices.
  1489. It is also possible to set an environment variable SELECT to this value.
  1490. Testing using SCO XENIX386 release 2.3.2 has shown that the select() function
  1491. somehow clobbers the tty input and output buffers, so the use of this option is
  1492. not yet recommended.
  1493.  
  1494. The "dos" commands CD, COPY, TYPE, RENAME etc. are not implemented.  Use a
  1495. subshell or a different window to perform these functions (except CD).
  1496. Incoming mail is stored in the /usr/spool/mail directory (or to the directory
  1497. defined by the NETMAILS).  This directory must be writable by the user running
  1498. NET to be able to receive mail.     The standard mailer can read the incoming mail,
  1499. but I do not yet know how to prepare outgoing mail.  Mail stored in the
  1500. directory /usr/spool/mqueue (NETMAILQ), using the same format as in the DOS
  1501. version of NET, is transmitted by SMTP.     This directory *must* exist and be
  1502. writable for the user running NET.
  1503. All configuration files are located in the "current directory" as effective when
  1504. the program is started.     It is recommended to create a user "net", and to put
  1505. the configuration files and the program in it's home directory.  NET can then
  1506. be started from the .profile, so that logging in as "net" is sufficient.
  1507. The FINGER files are stored in a subdirectory "finger", *without* the .txt
  1508. extension used by the DOS version of NET.
  1509.  
  1510. 871225.33.PE1CHL.900623:
  1511.  
  1512. Fixed problem that caused crash when an excluded station was connected from
  1513. the NET/ROM.
  1514.  
  1515. Many users complain about problems with IP and/or selected AX.25 servers.
  1516. Please note, that in this software each AX.25 server (defined using
  1517. "ax25 port") *must* have a *different* SSID, and that each interface (defined
  1518. using "attach") *must* have an SSID *different* from all SSID's used by AX.25
  1519. servers.  Different interfaces may use the same SSID, but cross-band
  1520. digipeating will not be possible in that case.
  1521. The autoexec.net file provided as an example follows these rules, but many
  1522. people have modified the SSID's and subsequently had strange problems...
  1523. When you use the -0 SSID for an interface, the TNC server *must* have some
  1524. other SSID, or IP will not work.  To avoid problems, everybody is hereby
  1525. encouraged to use the following SSID scheme (proposed by PE1LGT):
  1526.  
  1527.     SSID  Interf    Function
  1528.     -0    All    TNC (normal ax.25 connect)
  1529.     -1    All    MBOX
  1530.     -2    144    2m interface
  1531.     -3    144    mheard/NetDigi 2m
  1532.     -4    4k8    2m/4800 baud interface
  1533.     -5    4k8    mheard/NetDigi 2m/4800 baud
  1534.     -6    All    Conference Bridge
  1535.     -7    430    70cm interface
  1536.     -8    430    mheard/NetDigi 70cm
  1537.     -9    All    NET/ROM
  1538.     -10   aaaa    interface
  1539.     -11   aaaa    mheard/NetDigi
  1540.     -12   23cm    23cm interface
  1541.     -13   23cm    mheard/NetDigi 23cm
  1542.     -14   bbbb    interface
  1543.     -15   bbbb    mheard/NetDigi
  1544.  
  1545.     aaaa and bbbb usable for other bands, e.g. 28 or 50 MHz
  1546.  
  1547.     avoid using the -14 and -15 SSID's on bands where a local NET/ROM
  1548.     is operating.
  1549.  
  1550. 871225.33.PE1CHL.900611:
  1551.  
  1552. Atari version: moved disable/restore handler to trap #7, to allow the use
  1553. of trap #5 as a micro_rtx system call.    This is only possible for MWC release
  1554. 3.0.0 and above.  No testing done with micro_rtx.
  1555.  
  1556. Fixed protocol problem that caused AX.25 failures when connected to G8BPQ
  1557. nodes.
  1558.  
  1559. Some changes made to improve portability.  Attempt made to run under XENIX.
  1560. (it compiles okay, but the async port handling still causes headaches)
  1561.  
  1562. 871225.33.PE1CHL.900530:
  1563.  
  1564. TZ or TIMEZONE (depending on machine+compiler) environment variable now gets
  1565. a default value GMT0 when it has not been set by the user.
  1566. This prevents funny behaviour when "at" is used (default was Pacific Standard
  1567. Time).    You can still set your own preferred timezone.
  1568.  
  1569. Automatic ticks/second and "at" command removed from Aztec version. The library
  1570. function time() returns an unusable value, and the Aztec version reported an
  1571. incorrect value of 36 ticks/s because of this.
  1572.  
  1573. 871225.33.PE1CHL.900522:
  1574.  
  1575. Fixed problem in SMTP that sometimes caused the program to crash (when mails
  1576. containing very long lines were received)
  1577.  
  1578. Also, built extra test in watchdog so that "watchdog ?" no longer causes the
  1579. PC to crash.  Now, specification of 0 or a non-numerical port number also
  1580. disables the watchdog (instead of clobbering port 0, the DMA controller).
  1581. Of course, this still leaves plenty of opportunities to scramble the system
  1582. through specification of weird port numbers.  Be careful!
  1583.  
  1584. 871225.33.PE1CHL.900520:
  1585.  
  1586. Fixed problem in NET/ROM level 4.  Sometimes the transport-level timeout timer
  1587. did not run while frames were outstanding, causing connection failures under
  1588. certain circumstances.
  1589.  
  1590. 871225.33.PE1CHL.900519:
  1591.  
  1592. "watchdog" command now also installed in PC version.  It can only drive an
  1593. external watchdog timer.  The syntax of the watchdog command is:
  1594.     watchdog [<port> <value>]
  1595. When specified, the <port> and <value> select the output port to be used for
  1596. the watchdog.  The value is OR-ed to the value read (input) from the port, and
  1597. this value is output to the port.  Some time later the value is complemented and
  1598. AND-ed to the port value.  The result should be that one or more output bits
  1599. toggle at each pass through the main loop.
  1600. The watchdog triggering can be stopped by specification of a zero <value>.
  1601.  
  1602. 871225.33.PE1CHL.900513:
  1603.  
  1604. New command "tcp active" shows only those TCP sessions that are not in the
  1605. "Listen (S)" state.  This gives a shorter list, especially when many servers
  1606. are started.
  1607.  
  1608. Fixed "from" address in AX.25 mailbox (to provide proper returnpath for errors)
  1609.  
  1610. Small changes in SMTPCLI to make it more RFC821-compatible
  1611.  
  1612. 871225.33.PE1CHL.900506:
  1613.  
  1614. Fixed problem in NET/ROM: when multiple NET/ROM level 4 packets were received,
  1615. some with the MORE bit set, and the total length of info was over 256, the AX.25
  1616. link transmitted packets over 256 bytes in length.  Now these are split in
  1617. multiple packets each up to 256 bytes in length.
  1618.  
  1619. 871225.33.PE1CHL.900503:
  1620.  
  1621. Improved NET/ROM handling of failing routes.  When a NET/ROM broadcast is
  1622. sent, nodes with only 0-quality routes are broadcast too (with that 0 quality).
  1623. When such a broadcast is received, the particular route is deleted.
  1624.  
  1625. Corrected TNC2 emulator message at disconnect.    Must not print callsign.
  1626.  
  1627. Improved the FRAMESAMMLER.  Now, the functionality is the same as the Digicom
  1628. and RMNC implementations.  It should now be safe to set "ax25 maxsammler 7",
  1629. independent of the other station's maxframe.
  1630.  
  1631. New command: netrom users
  1632. Displays the local NET/ROM users, just like the "users" command when connected
  1633. to the NET/ROM.
  1634.  
  1635. Atari version only: added "log proc" command, to dump the processor exception
  1636. area to the logfile, when it contains a valid exception (bombs) dump.
  1637. When this command is inserted after the "log <filename>" command in autoexec.net,
  1638. information about a preceeding crash is put in the logfile.
  1639. The format is:
  1640. Sun Apr 29 15:54:00 1990 exception dump (BP=0005F126)
  1641.  00000000 00000020 000023ED 00000020 00000013 00000000 00000001 00000001
  1642.  0004E71B 00020284 00000000 0004B5D8 00FDD1F4 00000000 00001804 000017BC
  1643.  04FC0B12 000061A0 23080000 180800FC 9DA20000 000A0000 5F360000 03100000
  1644.  00460000 000000FE
  1645. The BP value is the current basepage address.  This could be the same as
  1646. the basepage address at the time of the exception, but this is uncertain.
  1647. The following lines are a dump of the area at 0x384, see an Atari internals
  1648. manual for more detail.
  1649. This command is only intended for software debugging and/or bug reporting,
  1650. when you don't understand it's purpose, you do not need to use it!
  1651.  
  1652. Adapted some source modules for compilation using Turbo C 2.0 on the PC.
  1653.  
  1654. Solved problem in NET/ROM causing crash when user aborts pending connection.
  1655.  
  1656. Added "uplink" option to "netrom interface" command (see below), and made
  1657. netrom level 4 configurable.  just set the "netrom param 4" parameters
  1658. to 0 to disable net/rom level 4.  then, the node will always return "busy" when
  1659. connected from another net/rom node, and node connects from the net/rom always
  1660. fail.
  1661.  
  1662. 871225.33.PE1CHL.900415:
  1663.  
  1664. NET/ROM (level 4 & 7) support completed.
  1665. It is now possible to connect other nodes, and to list the connected users.
  1666.  
  1667. New NET/ROM commands:
  1668.  
  1669. INFO (replaces IDENT)
  1670.     Show information about the NET/ROM
  1671.  
  1672. MHEARD [<interface>]
  1673.     Show the MHEARD list
  1674.  
  1675. PORTS [<interface>]
  1676.     List available NET/ROM ports (interfaces) and optionally selects
  1677.     the interface to be used for downlink connects.
  1678.  
  1679. When a CONNECT to an AX.25 station is made, an interface is selected:
  1680. - For AX.25 connected stations: the interface they are connected on
  1681. - For NET/ROM connected stations: the default (LAP) interface
  1682. The interface can be changed by a "port <interface>" command before the
  1683. CONNECT.
  1684.  
  1685. New ("net>" prompt) commands are:
  1686.  
  1687. netrom info <filename>
  1688.     sets the name of the file to be sent after the normal response to the
  1689.     "INFO" NET/ROM cmd. It can be used to send a station description.
  1690.     Keep this file small!!    The length should not exceed 1 kilobyte!
  1691.  
  1692. netrom interface <iface> <alias> <quality> [lap|uplink]
  1693.     the extra option "lap" must be given on only ONE of the "netrom interface"
  1694.     lines to specify the default interface for downlink AX.25 connects.
  1695.     (Local Access Point).
  1696.     the option "uplink" can be given on other lines, to specify that
  1697.     user-uplinks are allowed on that particular interface.    when neither
  1698.     "uplink" nor "lap" are given, the netrom will not process commands when
  1699.     connected.
  1700.  
  1701.  
  1702. 871225.33.PE1CHL.900325:
  1703.  
  1704. Again changed the behaviour when REJ is received - probably a conversion to
  1705. the newer AX.25 code would be a better idea...
  1706.  
  1707. Added an interrupt-latency measurement routine to Atari version, to evaluate
  1708. the effects of some efficiency improvements.  This is not intended to be a
  1709. feature useful to the end-user.     The "latency" command is used to switch this
  1710. feature on- and off, and to display the results.
  1711.  
  1712. 871225.33.PE1CHL.900314:
  1713.  
  1714. Added capability to write (or append) incoming mail to a specified file.
  1715. This can be used to keep a file in the public area uptodate using a
  1716. mailing list.  (e.g. hostsfiles, tcp-group mail)
  1717. When the first line of a "mailbox" file (mail\xxxx.txt) is of the form:
  1718. write c:\net\public\hosts.137
  1719. or:
  1720. append c:\net\public\tcpgroup
  1721. the incoming mail will be written (or appended) to the specified file,
  1722. not to the mailbox file.
  1723. When a suitable "alias" file entry is made, it is possible to write the
  1724. mail both to a file and to a mailbox.
  1725.  
  1726. Incoming mail is now marked with the source (when "new mail arrived" is
  1727. printed on the console)
  1728.  
  1729. 871225.33.PE1CHL.900304:
  1730.  
  1731. Added a second parameter to "smtp timer": the time to be used when a
  1732. mail needs to be forwarded.
  1733. Whenever a mail arrives that has to be forwarded the "smtp timer" will be
  1734. set to this value and re-started.  This allows a long time between polls
  1735. of the mailqueue, while still forwarding mail within reasonable time.
  1736. This parameter should not be set too low, to allow more than one mail to
  1737. be queued and the SMTP session to be terminated before the forwarding is
  1738. started.  Recommended value is 500 seconds.
  1739. The main timer can now be set to slightly more than one hour, to set the
  1740. time between attempts of the AX.25 BBS forwarding.  Exactly one hour is
  1741. not recommended because this could synchronize the attempts with normal
  1742. inter-BBS forwarding.  4000 seconds is a good value. (smtp timer 4000 500)
  1743.  
  1744. 871225.33.PE1CHL.900303:
  1745.  
  1746. HOME and END (Atari: Ctrl-Home) keys now move the cursor to the beginning
  1747. and end of the input line, respectively.
  1748.  
  1749. Fixed SCC speed-setting using "param" for Atari ST (it crashed the program)
  1750.  
  1751. Corrected TCP windowsize for ascii-mode transfer of FTP, and SMTP.
  1752.  
  1753. 871225.33.PE1CHL.900211:
  1754.  
  1755. Added forwarding from NET to RLI/MBL-style mailboxes and personal maildrops.
  1756. This is kind of a hack, as several conversions have to be made on SMTP
  1757. mail addresses and headers.
  1758. The feature operates as follows:  When mail must be sent to a host, a
  1759. check is made if the hostname is of the form <call>.bbs, and if a file
  1760. exists in the MQUEUE directory with this name.
  1761. If both of these conditions are met, the mail is forwarded using a script
  1762. in the MQUEUE\<call>.bbs file.
  1763. The script contains lines, of which the first character is an opcode:
  1764.  
  1765.  #    this line is a comment
  1766.  c    only as the first line: specifies the initial connect to be made.
  1767.     this can be a connect to the bbs, or to a NET/ROM node that is
  1768.     used to reach the bbs.    syntax is like the net> connect command.
  1769.  s    send string to remote BBS or node.  can be used to send strings
  1770.     containing connect commands to NET/ROM nodes.
  1771.  w    wait for specified string to be received.  lines not containing
  1772.     this string are ignored.  useful during connect and disconnect
  1773.     phase, to eat banners sent by the BBS.
  1774.  r    checks for a specified string to be received.
  1775.     when a line not containing this string is received in the message
  1776.     transfer phase, it is mailed back to the message sender (it
  1777.     probably is an error)
  1778.     while in the connect phase, the box is simply disconnected.
  1779.  l    marks the point in the script where the connect ends, and the
  1780.     messages are transferred.  ("loop")
  1781.  m    defines the line to be sent to send a message. line is used as an
  1782.     argument to sprintf, with the following string args:
  1783.     1. message type ("P")
  1784.     2. destination call
  1785.     3. destination bbs
  1786.     4. source call
  1787.     5. message id
  1788.  u    send subject of message. line is an argument to sprintf, with
  1789.     the message subject as an argument.
  1790.  b    send the body of the message. any text after the "b" is sent as
  1791.     the end-of-message marker.  the default is ^Z.
  1792.  n    defines the end of the message transfer lines and the start of
  1793.     the disconnect phase.  control will branch back to "l" when
  1794.     more messages are to be sent ("next")
  1795.  
  1796. Examples: to directly connect to a BBS (AA4RE-type):
  1797.  
  1798. # forward to PA3APN
  1799. c 650 pa3apn
  1800. w==>
  1801. # now we are connected, send each mail
  1802. l
  1803. mS%s %s@%s < %.6s $%.12s
  1804. rBetreft
  1805. u%s
  1806. rBericht
  1807. b
  1808. ropgeslagen
  1809. w==>
  1810. n
  1811. # all done, send "bye" command
  1812. sB
  1813. w73
  1814.  
  1815. To connect to a BBS via NET/ROM:
  1816.  
  1817. # forward to PI8EAE via PI8RNI-7 NET/ROM
  1818. c 430 pi8rni-7
  1819. sc pi8eae
  1820. rConnected to
  1821. w}
  1822. # now we are connected, send each mail
  1823. l
  1824. mS%s %s @ %s < %.6s $%.12s
  1825. rSubject
  1826. u%s
  1827. rmessage
  1828. b
  1829. r}
  1830. n
  1831.  
  1832. Another NET/ROM example:
  1833.  
  1834. # forward to PI8ABT via PI8RNI-7/PI8ABT-7 NET/ROM
  1835. c 430 pi8rni-7
  1836. sc zbl70
  1837. rConnected to
  1838. sc pi8abt
  1839. rConnected to
  1840. w>
  1841. # now we are connected, send each mail
  1842. l
  1843. mS%s %s@%s < %.6s $%.12s
  1844. rOmschrijving
  1845. u%s
  1846. rBericht
  1847. b
  1848. ropgeslagen
  1849. w>
  1850. n
  1851.  
  1852. As can be seen, the scripts must be tuned to match the exact responses
  1853. sent by the local BBS, such as the "subject" and "message" prompts, and
  1854. the final character of the BBS prompt (">" or "}").
  1855. It is possible to write scripts that ignore the prompts (just omit the
  1856. "r" lines and put only a "w>" or "w}" after the body) but this will kill
  1857. the error checking capabilities of the forwarder.
  1858. Remember that NET/ROM will cancel a connection when you send something
  1859. without waiting.  Always include an "rConnected" line after a NET/ROM
  1860. connect command.
  1861.  
  1862.  
  1863.  
  1864. Added support for "Type of Service" as offered by TCP.
  1865. TOS is composed of characters 0-7,D,T,R for precedence, low delay, high
  1866. throughput, high reliability.  Low-delay will force UI frames to be used,
  1867. High-reliability will force connected mode, both overriding the selected
  1868. default mode (using "mode" command).
  1869. Other TOS selections may be effective for particular IP implementations
  1870. and/or subnetworks, but are currently not acted upon by NET.
  1871. With "telnet" and "ftp" and "start", specify TOS using a 3rd/4th parameter.
  1872. Otherwise set/change the TOS using the "tcp tos <tcb> <tos>" command.
  1873. You cannot change the precedence of an existing connection.
  1874.  
  1875. 871225.33.PE1CHL.900123:
  1876.  
  1877. Atari ST: Now, tempfiles are deleted immediately after use.
  1878.  
  1879. netrom exclude <nodecall> [d]: excludes certain nodes from the nodelist.  The
  1880. "d" option removes a call from the exclude list.  This can be used when it is
  1881. known that a node has it's parameters set up in such a way that a connect will
  1882. not be possible because a retour route can not be established.
  1883. (so-called "Belgian parameters")
  1884.  
  1885. 871225.33.PE1CHL.900113:
  1886.  
  1887. Swapped Rcv-Q and Snd-Q in ax25 status output to make it consistent with
  1888. other status listings (session, tcp status)
  1889.  
  1890. Fixed an error in sccvec.asm, that caused malfunction in large model on PCs.
  1891.  
  1892. Atari ST: Now compiled it using MWC 3.0.9 instead of 2.1.7.  A savings of
  1893. 1.9% in code size!
  1894.  
  1895. 871225.33.PE1CHL.900109:
  1896.  
  1897. Fixed problem in FTP client causing a crash when the user typed "type l".
  1898. This caused a BUS ERROR because "type l" needs an extra argument and a NULL
  1899. pointer was dereferenced when this argument wasn't supplied (attd by SM0IES)
  1900.  
  1901. 871225.33.PE1CHL.900107:
  1902.  
  1903. Added support for the DRSI PC*Packet adapter in the SCC driver.
  1904. (hardwaretype = 08)
  1905.  
  1906. Added support for external transmit/receive clocks in the SCC driver.
  1907. Use "ext" instead of the baudrate to get RTxC=RX clock, TRxC=TX clock.
  1908.  
  1909. With the SCC driver in AX.25 mode, a new speed can now be set
  1910. using "param <iface> speed <speed>".  This only works when internal clocking
  1911. was specified during init, and it cannot switch between internal and
  1912. external clocking.
  1913. In AX.25 mode, the transmitter can be disabled using "param <iface> tx n".
  1914. This is useful for unattended stations (when interference reports have been
  1915. received by the control operator he can issue this command via rcmd).
  1916.  
  1917. ARP entries added to the table as a result of ARP packets received will
  1918. now be marked with the interface of their origin.  It is no longer assumed
  1919. that an address received on some interface is also valid on another.
  1920. Interfaces may be specified in arp add, drop and publish commands using
  1921. the syntax "<type>:<interface>".  e.g. arp add pe1chl ax25:144 pe1chl-2
  1922. This was primarily done to solve the problems that occur when 4800 baud and
  1923. 1200 baud modems are used in parallel on the same frequency. Now it is no
  1924. longer necessary to enter fixed ARP entries for 4800 baud.
  1925. The selected method of specification of the interface keeps the "arp" command
  1926. compatible with earlier releases of the program.
  1927.  
  1928. Added the W9NK TCP/IP mailbox.    This is an AX.25 server that allows AX.25
  1929. stations to send SMTP mail to the owner of the box and to other TCP/IP
  1930. stations to which the box owner can forward SMTP mail.
  1931. The mailbox accepts forwarding from the de-facto standard BBS systems.
  1932. To use the mailbox, initialize AX.25 port #6, and start the ax25 mbox server:
  1933.  
  1934.     ax25 port 6 conn pe1chl-1
  1935.     ax25 start mbox \net\finger\rob.txt
  1936.  
  1937. The (optional) filename specified after the start command specifies the "info"
  1938. file for your box, sent to the connected user when he types an "i".
  1939. Incoming mail is only routed (to the local user or to others) when the SMTP
  1940. timer ticks.  You'll have to set your "smtp timer" to a reasonable time to
  1941. receive your mail without long delays (say, up to 7200 seconds).
  1942.  
  1943. Added support for multi-channel KISS TNCs.  These boxes encode the radio
  1944. channel number in the upper nibble of the KISS type byte.
  1945. To use this feature:
  1946. Attach the physical device using "attach asy" or "attach com", as before.  The
  1947. channel number zero will be accessed using the defined parameters.
  1948. To access channels 1 to 15, use:
  1949. attach kiss <parent> <channel> <label> <mtu> <call>
  1950. The <parent> is the physical interface attached before.     <channel> is the
  1951. channel number used by the TNC (1..15).
  1952. e.g.: attach kiss ax0 1 ax1 256 pe1chl-7
  1953. This will make the second channel of the KISS TNC available as "ax1", with
  1954. a maximum IP packet length of 256 and a callsign "pe1chl-7".
  1955.  
  1956. Modified "copy" to allow device specs in Atari version.     Hope it does not
  1957. break down on other versions.
  1958.  
  1959. 871225.33.PE1CHL.891225:
  1960.  
  1961. Added "x" option to "tput" FTP subcommand to update attributes of a file
  1962. after it has been sent.     This ensures the file will have the same date/time
  1963. and "read only" status on the destination after a transfer.  This is implemented
  1964. using an "XATR" FTP command that is sent after each "STOR", containing this
  1965. information in an MSDOS specific format.  For now, this is only implemented
  1966. in the Atari ST version.
  1967.  
  1968. Also made response on "MKD" according to RFC959.
  1969.  
  1970. "at" command corrected, now it always uses the local time.
  1971.  
  1972. Added "netrom route drop * <iface> <neighbor>", to drop all NET/ROM routes
  1973. via specified neighbor (e.g. when you know it has been taken out of service).
  1974. This only affects non-permanent routes.
  1975.  
  1976. Added NET/ROM level 3 parameter "maxqueue", specifying the maximum number of
  1977. AX.25 packets allowed on an outgoing AX.25 queue.  Any packets that have to be
  1978. queued above this limit are dropped, and an alternative route to this
  1979. destination is chosen, if possible.
  1980.  
  1981. Added NET/ROM level 3 parameter "maxfail".  When more than this number of
  1982. link failures occurs on an AX.25 link to a neigbor, all non-permanent routes
  1983. via this neighbor are dropped (until we next hear a broadcast from him).
  1984. This should limit the forever-retrying on dead links (dead nodes).
  1985. Set "maxfail" to zero to disable this feature.
  1986.  
  1987. 871225.33.PE1CHL.891217:
  1988.  
  1989. Added "tput" FTP subcommand to put a (sub)tree.     Before using it, the target
  1990. directory must be set using "cd", and the file type (usually I) to be used
  1991. for all the transfers should be selected.  Then, a "tput <dirname>" or
  1992. a "tput <wildcard spec>" will start automatic creation of subdirectories and
  1993. transfer of files.  The session should remain selected to allow
  1994. display of messages and execution of further commands.    Use "abort" to
  1995. terminate the process.    DON'T change the local "current directory" when an
  1996. incomplete pathname was specified for the "tput".
  1997.  
  1998. Solved some problems with pathnames specifying a drivename and/or the "."
  1999. notation for current directory.
  2000.  
  2001. Implemented "netrom tcpip interlink" to let the NET/ROM pass only visible
  2002. nodes and #TCPIP.  (#others are not broadcast, but appear in the nodelist)
  2003. This is similar to the "TheNet I-version", but without the disadvantage of
  2004. inhibiting TCP/IP traffic.  When "netrom nodefilter exclusive" mode is selected,
  2005. this provides very good control over the number of nodes in the broadcast
  2006. and the NET/ROM traffic through the node.
  2007.  
  2008. Added extra delays in the SCC driver (MSDOS version only) to allow it to run
  2009. on very fast machines.
  2010.  
  2011. 871225.33.PE1CHL.891209:
  2012.  
  2013. NET/ROM nodefilter mode "exclusive" added.  Works like "accept", but
  2014. additionally no NET/ROM transport packets are accepted from stations not
  2015. listed.     Only stations in the "netrom nodefilter" list are accepted for
  2016. NET/ROM traffic.
  2017.  
  2018. A NET/ROM retour route is now also created when only 0-quality routes exist
  2019. to the sender (this was only done when no routes existed).
  2020.  
  2021. Experimental NET/ROM level 4 code added.  Accepts connects from other NET/ROM
  2022. stations but cannot connect to others.    "netrom status" lists the current
  2023. connections.
  2024.  
  2025. Changed "isdir" to fix a problem with the MSDOS/MSC version (it said that
  2026. a device was a directory, so "copy file prn" would fail)
  2027.  
  2028. Made configuration depending on memory model and compiler, to ease maintenance
  2029. and prevent distribution of unworkable versions (like MEDIUM MODEL with lots
  2030. of memory-demanding functions)
  2031.  
  2032. 871225.33.PE1CHL.891031:
  2033.  
  2034. Atari version: memstat <number> mallocs and frees the specified number
  2035. of bytes, to get these from the OS in one big chunk.  Old versions of the
  2036. system have trouble with programs making a lot of allocation requests, and
  2037. the Mark Williams C runtime makes requests in small (2K) units.
  2038. Putting "memstat 30000" or so at the beginning of autoexec.net will acquire
  2039. some memory to start with.  The <number> is a long integer.
  2040.  
  2041. Fixed problem in netrom route handling that caused inconsistency (and hangup)
  2042. when memory could not be allocated to store received routes (see above).
  2043.  
  2044. Fixed broken "dir" command (wouldn't list directories after "improvement")
  2045.  
  2046. 871225.33.PE1CHL.891001:
  2047.  
  2048. route info <ip addr> command will print the IP route to another host
  2049.  
  2050. improved handling of directories in DIRUTIL.C (because of TurboC problems)
  2051.  
  2052. 871225.33.PE1CHL.890924:
  2053.  
  2054. Greatly improved error handling in SMTP server (disk full, out of mem)
  2055. Also introduced timeout in server (waiting on commands)
  2056.  
  2057. Introduced "at" command to run NET command at certain time-of-day.  Syntax is:
  2058.      at hh:mm command [params]
  2059. example: at 18:00 stop ftp
  2060.  
  2061. "at" command without params prints a list of scheduled commands.  Only one
  2062. command can be started at each time.  Use "source" command to start a sequence
  2063. of commands. (stored in a file)
  2064.  
  2065. stopping FTP/SMTP/RCMD servers does not produce a log message anymore
  2066.  
  2067. improved handling of AX.25 excluded calls.  these cannot be connected
  2068. anymore, also from bridge, netdigi etc.
  2069.  
  2070. 871225.33.PE1CHL.890918:
  2071.  
  2072. Minor change to make NET/ROM "param" command output compatible with NET/ROM.
  2073. (some programs interpret this output for a better display)
  2074.  
  2075. Fixed problem with timeouts in SMTP client (it failed when a mail took more
  2076. than "tcp timeout" time to transfer)
  2077.  
  2078. Log now flushed every time, log without params doesn't flush anymore
  2079.  
  2080. Added watchdog timer (called from timer interrupt, reset from main loop).
  2081. The "watchdog" command sets timeout values (in seconds) for 2 cases: the
  2082. first value is used while in NET, the second when executing a SHELL.
  2083. When a 3rd arg is given, it's (HEX) value will be put out on bit 0 of the
  2084. printer port every time the watchdog is reset, followed by a zero value.
  2085. This can be used to trigger an external (hardware) watchdog timer.
  2086. This should not affect printer operation, as no strobe pulse is sent, only
  2087. a change on the datalines.
  2088. (for now, watchdog functions are only present in the Atari version)
  2089.  
  2090. Solved problems with "*" and "?" in filenames in ftpserver
  2091.  
  2092. 871225.33.PE1CHL.890910:
  2093.  
  2094. Made a lot of small changes to compile the package with Turbo C on the Atari.
  2095. (Mainly suspicious constructs warned by Turbo C, and MW C dependencies)
  2096. It does not yet work correctly when compiled with Turbo C.
  2097.  
  2098. Introduced "onexit.net" file, executed during "exit", just after all
  2099. connections are closed.     Can be used to send param 255's or copy files.
  2100.  
  2101. Added an extra check in the Atari SCC driver to detect a permanently-low IRQ
  2102. line from the SCCs.
  2103.  
  2104. 871225.33.PE1CHL.890825:
  2105.  
  2106. Yet another dup_p replaced by copy_p: the SCC driver transmitted garbage when
  2107. an AX.25 packet was acknowledged when a retry was already sitting in the SCC
  2108. transmit queue... (this could also happen with KISS, but it is less likely).
  2109. Now, in lapb_output() a packet is copied to a new buffer instead of dup'd.
  2110. (same in recover())
  2111.  
  2112. 871225.33.PE1CHL.890814:
  2113.  
  2114. Fixed the last (?) flow-control problem in the NetDigi (and possibly other AX25
  2115. services driven by the transmit upcall).  It now only asks for as many bytes as
  2116. will fit in the maxframe window.
  2117.  
  2118. This is the "final PC release" distributed in Aztec, MSC Middle and MSC Large.
  2119.  
  2120. 871225.33.PE1CHL.890812:
  2121.  
  2122. Corrected a problem introduced in the router in 890809 (only /32 and default
  2123. work), and made the router cache more effective.
  2124.  
  2125. PC: Fixed bugs in the SCC interrupt handler. This also affected the handler for
  2126. the 3c500 in the Aztec version of 890812.
  2127.  
  2128. "date" command now can set the date and time in MSC-compiled versions for the
  2129. PC.
  2130.  
  2131.  
  2132. 871225.33.PE1CHL.890809:
  2133.  
  2134. Finally tracked down a problem with ctime(), which only appeared using MSC.
  2135. It loses it's terminating \n under some circumstances, which caused funny
  2136. results in smtp.
  2137.  
  2138. Added yet more checks for NULL pointers (from malloc).    Now prints "No Space!!"
  2139. when no buffer is available for a ping (with length >0).  This can cause mesages
  2140. when a repeated ping is set up.
  2141.  
  2142. Now I know how TCP sessions could stay in CLOSED state.     Fixed FTP state change
  2143. upcall handler, so that it should not happen anymore.
  2144.  
  2145. MSC-compiled version (without PACKET and 3C500 drivers) can now be compiled in
  2146. LARGE model on the PC. This should solve the problems of running out
  2147. of heap space, at least when you have enough free
  2148. memory in the machine (or section or window).  This version is about 30% bigger
  2149. and slower than the standard MIDDLE model version.
  2150.  
  2151. 871225.33.PE1CHL.890731:
  2152.  
  2153. Set a timeout on CLOSED state (TCP).  A session was left in this state after
  2154. an FTP (directory) with all timers stopped, but I don't know how it happened.
  2155.  
  2156. Changed appearance of NET/ROM "param" command output to be compatible with
  2157. NET/ROM 1.2
  2158.  
  2159. 871225.33.PE1CHL.890725:
  2160.  
  2161. Converted all .asm files to pmacros.h usage.  Should be usable with MSC, TC and
  2162. Aztec.
  2163.  
  2164. NETROM4 define introduced to omit all NET/ROM level 4 support.
  2165.  
  2166. Changes to pc.c, dirutil.c to make it run under MSC 5.1
  2167.  
  2168. Fixed trouble with receiving from Fossil (again)
  2169.  
  2170. 871225.33.PE1CHL.890722:
  2171.  
  2172. Fixed problem with hostname translation in 870720.  It was only printed in the
  2173. incoming session message, not in the session display.  Also scanned all sources
  2174. for occurrence of inet_ntoa and psocket, and fixed declarations.
  2175.  
  2176. Fixed silly bug introduced in 890720 (resolve did not work on PC)
  2177.  
  2178. PC version: Fixed problem with TNC2 emulation on COM port
  2179. (device number off-by-one)
  2180.  
  2181. PC version: Fixed hardware handshake problem for KISS tnc's (again...)
  2182. TNC2 emulator can now XON/XOFF when FOSSIL driver is used
  2183.  
  2184. Fixed problem in FTP login sequence (attd by dg2kk)
  2185.  
  2186. 871225.33.PE1CHL.890720:
  2187.  
  2188. All versions: Included an ip_address-to-hostname translator supplied by pe1jlj
  2189. (after some modification).  Incoming telnet sessions are now labeled with the
  2190. hostname instead of the IP address.
  2191.  
  2192. All versions: Added -f flag to "delete", "rmdir" and "mkdir" commands, to make
  2193. these silent in case errors occur.  Useful to clearout temp directories and
  2194. lockfiles from AUTOEXEC.NET, without getting complaints about the non-existence
  2195. of these files.     Use it like "del -f ${NETMAILQ}*.lck".
  2196.  
  2197. SCC driver: When DCD is active during initialization of the driver, the receiver
  2198. is enabled immediately.     This used to happen only on inactive-to-active
  2199. transitions of DCD.  (Added after request from pa0hzp who was testing his board)
  2200.  
  2201. NET/ROM: When a NODES broadcast comes in which contains routes to a certain
  2202. destination with a better quality than the currently active route, that better
  2203. route is again selected, even when it was dropped before because of a link
  2204. failure.  This is done to prevent infinite re-routing of NET/ROM links in case
  2205. of a temporary link problem (there used to be no mechanism to re-select a
  2206. dropped route...).  When the station receives NODES broadcasts from distant
  2207. nodes regularly, these nodes should be filtered out to prevent repeated tries
  2208. of the direct links to these nodes.
  2209.  
  2210. PC version: Added "date" command. Prints or sets the system date and time.
  2211. date setting does not work yet.
  2212.  
  2213. PC version: Included the possibility to emulate a TNC2 on an external COM port.
  2214. Algorithm is now as follows: when COM1-COM6 is specified in the
  2215. "ax25 start tnc2" the code checks for the presence of an INT14 handler for
  2216. that port.  If it finds one, it will start the emulator on that external port.
  2217. MBBIOS or FOSSIL should be loaded for the selected port.  (the standard BIOS
  2218. handler will lose big time!!! no interrupt handling in the ROM BIOS...)
  2219. The baudrate of the external port is fixed to 9600 (8 bits, no parity, 1 stop).
  2220. When a port above 6 is used, or there is no INT14 handler present, the code
  2221. continues to use the "virtual COM port" accessible from the other doubledos
  2222. section to emulate the TNC.
  2223. NOTE: All this only works in versions compiled to support COMBIOS/MBBIOS/FOSSIL
  2224. instead of the built-in "asy" device.
  2225.  
  2226. PC version: timeout on transmit character emulation routine (virtual COM port)
  2227. increased from 5 to 25 seconds, to allow for very bad AX.25 links to a BBS
  2228. running on TNC2 emulation.  The WA7MBL bbs does not test for timeouts, and
  2229. therefore drops characters when one occurs.
  2230.  
  2231. Attempted to make slightly more heap space available to those poor PC users, by
  2232. putting more common text strings in variables (so that they appear in the 64K
  2233. datasegment only once).     Now 31552 bytes of heap, hooray.
  2234. There is still more than 16K of fixed text in the data segment...
  2235.  
  2236. 871225.33.PE1CHL.890622:
  2237.  
  2238. additions:
  2239.  
  2240. ping length [<value>]
  2241.   default <value> is 0
  2242.   defines the number of extra bytes to be send with each ICMP echo reply.
  2243.   useful for testing path and modem quality.
  2244.   maximum value <value> is 4095
  2245.  
  2246. ax25 maxsamml [<no# frames>]
  2247.   default <no# frames> is 0
  2248.   A framesammler algorithm has been implemented. Non-sequential receiving of
  2249.   frames on AX.25 connections is possible now.
  2250.   This option is disabled when <no# frames> is 0
  2251.   100 % data integrity is only guaranteed when using this option with a
  2252.   <no# frames> value wich 4 or lower and if the other side has a Maxframe
  2253.   of 4 or lower.
  2254.  
  2255. Atari version: added "screen" command, to select NET's method of screen output:
  2256.     screen bios    use BIOS call Bconout
  2257.     screen direct    use direct writes to screen memory (fastest)
  2258.     screen tos    use standard output (default)
  2259. "screen direct" only works on standard resolutions, not on "big screens".
  2260.  
  2261. 871225.33.PE1CHL.890515:
  2262.  
  2263. additions:
  2264.  
  2265. new ax25 server: tnc2 emulator
  2266. This server allows you to emulate a TNC2 running TAPR 1.1.6 code.  This
  2267. TNC2 can then be used by client programs running in the other section when
  2268. using doubledos. (from the 890720 version it is also possible to connect the
  2269. TNC2 emulator to an external COM port)
  2270. This allows you to run a BBS concurrently with NET, using the same hardware
  2271. (KISS tnc, SCC board or whatever) to interface to the radio(s).     Also, other
  2272. packet programs can be run this way, as long as they interface with the TNC
  2273. using INT 14H (as is the case with MBBIOS, COMBIOS etc).
  2274.  
  2275. The emulator tries to mimick the functional aspects of the TNC2 software as
  2276. well as possible.  Features not supported are:
  2277.  
  2278. - setting of operational parameters like timing, async port settings etc
  2279. - monitoring and it's associated parameters
  2280. - calibration and testing
  2281. - multiple streams (users)
  2282. - battery backed-up RAM
  2283.  
  2284. Most other features are supported, including CONVERSE and TRANS mode,
  2285. input line editing, and even KISS.
  2286.  
  2287. There is one extra command, not found in TNC2 software, that is introduced
  2288. to compromise the efficiency of CPU usage with the requirements of the client
  2289. program:
  2290.  
  2291. KISSRX    <number>
  2292.  
  2293. This command selects which frames will be "received" by the emulator when it
  2294. is running KISS mode (KISS ON, RESTART).  This can be set using param 6 when
  2295. KISS mode is already selected.    The meaning of the number is:
  2296.  
  2297.     0 receive nothing (transmit-only)
  2298.     1 receive frames addressed to "MYCALL" only (the call of ax25 port 5)
  2299.     2 receive all frames addressed to callsigns belonging to this station,
  2300.       and also to QST and NODES.  This is the default value.
  2301.     3 receive all frames that are already digipeated
  2302.     4 receive everything
  2303.  
  2304.  
  2305. To use the tnc2 emulator:
  2306.  
  2307. Run NET under DoubleDOS.  NET needs about 230K.     Find the exact requirement
  2308. by increasing the section size in small increments, until the free space printed
  2309. by the "memstat" command immediately after startup does not increase any more.
  2310.  
  2311. - define ax25 port 5
  2312. - start ax25 server "tnc" with parameter list.    each parameter is of
  2313.   the form comnumber=interface.     example: ax25 start tnc2 3=144 4=430
  2314.  
  2315. After starting NET, run "NETCOM" in the other partition, specifying the TNC
  2316. port numbers (from above command).  You can also specify the /b flag, which
  2317. enables a buffer between the client program and NET.  Some BBS programs don't
  2318. like this, experiment with it.    Example:
  2319.   netcom /b 3 4
  2320.  
  2321. Therafter, you can use "YAPPB", "WA7MBL BBS" etc in that partition, configured
  2322. for COM3, COM4 etc.   Do NOT use any of the real com ports (COM1, COM2).
  2323.  
  2324. If you have more than 2 COM ports in the machine, use higher numbers.
  2325. NET allows up to COM255, but the packages you want to run may be more
  2326. limited.  For first experiments, use YAPPB <com#>.
  2327.  
  2328.  
  2329. Variables now supported in NET commands. see environ.txt for details
  2330.  
  2331. FTP server has an extra feature: a lister for the contents of .ARC files.
  2332. usage: (ftp subcommand!)
  2333.   dir <filename>.arc
  2334. This also works with the dir command at the net>_ prompt.
  2335.  
  2336. changes for PC version:
  2337.  
  2338. Async interface for kiss and slip devices is now under control of an external
  2339. device driver, an interrupt driven int 14 handler (COMBIOS). This can be either
  2340. MBBIOS or FOSSIL, well known with w0rli & wa7mbl sysops, and FOSSIL is from the
  2341. world of fido / opus phone bbs systems.
  2342.  
  2343. see documentation within "MBBIOS.ARC" and "X00Vxxxx.ARC" for more info about
  2344. mbbios and fossil.
  2345.  
  2346. to attach a COM port use:
  2347.  
  2348. attach com <number> slip|ax25|nrs <label> <mtu> <baudrate> <handshake> [<call>]
  2349.  
  2350.     <number> is the COM port number (1, 2, ...)
  2351.     slip, ax25 of nrs specificies the protocol to be used (ax25=KISS)
  2352.     <label> is the name of interface (144, 430 etc)
  2353.     <mtu> is the maximal transmission unit (paclen) (256 for ax25)
  2354.     <baudrate> can be selected from these values:
  2355.         110, 150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
  2356.         28800, 38400, 57600, 115200, 330400.
  2357.         The high baudrates (> 9600) mean "asking for problems".
  2358.         A standard XT can reliably run up to 4800, a fast AT can
  2359.         probably manage 9600 baud.
  2360.     <handshake> is a letter "n" of "h", and specifies the use of hardware
  2361.         handshaking (RTS/CTS) on the COM port.    This would normally not
  2362.         be used, but it is rumored that AEA TNCs which exhibit the
  2363.         wellknown KISS bug would run more reliable when hardware
  2364.         handshake is in effect.
  2365.     <call> is needed for ax25 and nrs interfaces only. It is the IP call
  2366.         used for this interface.
  2367.  
  2368. Examples:
  2369.  
  2370. attach com 1 ax25 144 256 4800 n pe1chl-2
  2371. attach com 2 ax25 430 256 9600 h pe1chl-7
  2372. attach com 3 slip sl0 1024 9600 n
  2373.  
  2374. Remember that the translation of COM port number to hardware address is now
  2375. performed by the MBBIOS or FOSSIL. These programs must be properly configured
  2376. to match your installation.  Read the documentation of these programs!
  2377.  
  2378.  
  2379. starting this release, smaller versions of NET.EXE are available for those
  2380. stations who don't need all the features of the big NET.EXE. 
  2381. these versions do not include the NET/ROM code, the rcmd server and some of
  2382. the more exotic device drivers.     they are suitable for packet-radio-only users
  2383. that do not want to leave their system on unattended.
  2384.  
  2385. 871225.33.PE1CHL.890206:
  2386.  
  2387. additions:
  2388.  
  2389. netrom supports route [<call>] command.
  2390.  
  2391. scc driver included. see sccdoc.arc file on this disk.
  2392.  
  2393. buffers [<no. buffers>] command included.
  2394.   Specifies the number of receive buffers for the scc interrupt handler.
  2395.   Belongs to the scc driver.
  2396.  
  2397. shell can now start a dos program. (instead of an interactive shell)
  2398. syntax:
  2399. shell /c <program name> [<program options>]
  2400.  
  2401. In fact, "shell" starts the program identified by the environment variable
  2402. COMSPEC, and passes it the parameters you specify. See your DOS manual for
  2403. an explanation of the /c option (which is interpreted by COMMAND.COM).
  2404.  
  2405. On the Atari ST, the shell program to be run is specified using the special form:
  2406. shell =programname
  2407.  
  2408. 871225.33.PE1CHL.890115:
  2409.  
  2410. ==  Known bugs solved in this version:
  2411.  
  2412. Scanning of HOSTS.NET file improved.
  2413.   usage of tab and space characters is allowed now.
  2414.  
  2415. ==  Added features:
  2416.  
  2417. Record <filename>
  2418.   now also works with ftp and finger sessions.
  2419.  
  2420. Upload off
  2421.   aborts an uploading session.
  2422.  
  2423. Control characters are echoed to the screen as ^<character>.
  2424.   They are however still sent as control characters.
  2425.  
  2426. With ^V it is possible to insert ANY control character.
  2427.   Type ^V, followed by the control character you want to insert.
  2428.   (ref. tnc2)
  2429.  
  2430. SMTP server is now capable of automatic multi-hop forwarding:
  2431.  
  2432.   By adressing to: john%la4zzz%sm7zzz%oz2zzz%dl3zzz@pa0zzz
  2433.  
  2434.   When the smtp timer counts to zero, or a smtp kick cmd is given, the mail
  2435. is first sent to pa0zzz (the local station).  The mailer chops off the
  2436. rightmost call and @, replaces the rightmost % by an @, and puts the mail
  2437. in \spool\mqueue.  This process repeats itself (when everybody is working
  2438. with this version of NET) until john@la4zzz is reached.     Of course there
  2439. has to be a path of known stations running NET 24h/day.
  2440.  
  2441. 871225.33.PE1CHL.881202:
  2442.  
  2443. == known bugs solved in this version:
  2444. AX25 connects were lost at midnight (00.00: *** LINK FAILURE)
  2445.    (only pc version)
  2446. The control block adresses are now 4 hex digits again (no ffffedca any more)
  2447. Temporary files are erased again. (no "eaaaaa22.591" files in various dir's)
  2448.  
  2449. == new features:
  2450. Log command now also flushes the buffer contents to the logfile.
  2451. Type command has an extra parameter: the number of lines to type
  2452.       example:    cd \spool  ;go to spool dir
  2453.         log       ;flush buffer to file
  2454.         type net.log -10  ; list last 10 lines of net.log
  2455.                     to see who is doing what.
  2456. Memstat command gives the # of malloc errors not at the beginning, but at
  2457.      the end of the list
  2458.  
  2459. New server: rcmd (remote command server)
  2460.  
  2461. format:
  2462. start rcmd [<port> [<key string>]]
  2463.  
  2464. defaults: <port>=333, <key string> = null
  2465. e.g.: start rcmd 333 qwert2yuiop5asd8fgh6jkl1zxcvbnmqwe5uiashjkzxcbn1234567890
  2466.  
  2467.      (to be inserted in autoexec.net file, together with the
  2468.       starting of the smtp/telnet/ftp/echo/discard/finger servers)
  2469.  
  2470. accessible for remote stations with:
  2471.  
  2472. telnet <hostid> <port>
  2473.  
  2474. e.g.: telnet pe1zzz 333      (from net>_ command line)
  2475.  
  2476. the rcmd server then returns three series of random numbers, five each. One of
  2477. these series must be returned with the corresponding characters from the
  2478. key string.
  2479.  
  2480. e.g.:suppose that the server was started with this line:
  2481.  
  2482. start rcmd 333 gqweGrerDFtDyuWioGpRaYsdYJfJhIKjLzxYcfRGwevbFEnSWmlcfkHtldrDC
  2483.  
  2484. then, a session could look like this:
  2485.  
  2486. telnet pe1zzz 333
  2487. rcmd 871225.33.PE1CHL.881202 pe1zzz.ampr
  2488. 58 24 3 18 32, 59 13 26 12 25, 71 23 12 8 44
  2489. ryJDY                   /* we choose the second series of numbers*/
  2490. pe1zzz.ampr net>_
  2491.  
  2492. At this point, the user is in complete control of pe1zzz's NET system !
  2493. This can be very dangerous, because there are dos commands like delete and
  2494. chdir, and your complete system is within reach.  It is important to make
  2495. the key string as long as is practical, for example 50 or 60 characters,
  2496. all for the sake of safety. In theory it is possible that someone
  2497. monitoring the channel can, after a while, reconstruct the key string.
  2498. Therefore it's a good practice to change the string after a while.  This
  2499. server is specially meant for automatic stations without operator. Don't
  2500. start the server just to impress other people !. And whatever you do:
  2501.  
  2502.          CHANGE THE DEFAULT KEY STRING !!!!
  2503.  
  2504. 871225.33.PE1CHL:
  2505.  
  2506. Long forgotten history....
  2507.  
  2508.